Ohio's junior senator disclosed his change of heart in interviews with several Ohio newspapers and CNN. In an op-ed published Friday in The Columbus Dispatch, he said the decision came after a lot of thought.
"I have come to believe that if two people are prepared to make a lifetime commitment to love and care for each other in good times and in bad, the government shouldn't deny them the opportunity to get married," he wrote.
As a member of the House in 1996, Portman voted in favor of the Defense of Marriage Act, which defines marriage as between a man and a woman and bars federal recognition of same-sex marriage.
Portman's reversal makes him the only Senate Republican to back gay marriage.
Portman said his views on gay marriage began changing in 2011, when his son, Will, then a freshman at Yale University, told his parents he was gay and that it wasn't a choice but "part of who he was." Portman said he and his wife, Jane, were very surprised but also supportive.
He said it prompted him to reconsider gay marriage from a different perspective, that of a father who wants all three of his children to have happy lives with people they love.
He said he talked to his pastor and to people on both sides of the gay marriage issue, including Senate Minority Leader Mitch McConnell, R-Ky., who is opposed to gay marriage, and former Vice President Dick Cheney, who supports it. Cheney's daughter is a lesbian.
Portman told reporters Thursday that his previous views on marriage were rooted in his Methodist faith.
"Ultimately, for me, it came down to the Bible's overarching themes of love and compassion and my belief that we are all children of God," he wrote.
The well-known Ohio conservative, a former U.S. trade representative and White House budget chief, was considered but not chosen as Republican presidential nominee Mitt Romney's running mate. Portman told the newspapers Romney was informed about Will's sexuality last year.
Portman's reversal comes as the U.S. Supreme Court is expected to hear arguments this month in a challenge to a provision of the Defense of Marriage Act.
Portman said he would like Congress to repeal the provision of the DOMA that bans federal recognition of gay marriage, though he still supports the part of the law that says states should not be forced to recognize such marriages.
A group working to overturn Ohio's ban on same-sex marriage praised Portman's comments, as did Ohio's senior senator, Democrat Sherrod Brown.
"I look forward to working with him to ensure that all Americans have the ability to marry regardless of whom they love or where they live," Brown said in a written statement.Brown voted against DOMA while he was a member of the U.S. House.