Portman revealed his change of heart in interviews with several Ohio newspapers and other media. 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.
Portman voted in favor of the Defense of Marriage Act as a member of the House in 1996. The act 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 who supports gay marriage.
The senator said his views on same-sex marriage started to change in 2011 when his son, Will, who was a freshman at Yale University at the time, told his parents he was gay. Portman said he and his wife, Jane, were very surprised but also supportive.
He said he started to view gay marriage from a different perspective. As a father, he said he wants all three of his children to have happy lives with people they love.
He said he talked to his pastor and to those 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 that his previous views on marriage were rooted in his Methodist faith.
Portman, 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 reporters that Romney was informed about Will's sexuality last year.
Portman said he would like Congress to repeal the provision of the Defense of Marriage Act 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.
The Associated Press contributed to this report.