The bill now goes to the House of Lords, where several members predicted it would pass "fairly untroubled," The Daily Telegraph reported.
The measure passed the House of Commons despite the failure of most Conservative members of Parliament to follow the lead of Prime Minister David Cameron, who called it "an important step forward" that strengthens society, the BBC reported.
The network said voting lists showed 136 Tories voted against the bill, including Environment Secretary Owen Paterson and Welsh Secretary David Jones, while 35 did not vote and five others registered their abstention by voting both for and against. Just 127 Conservatives voted in favor.
"I genuinely believe that we will look back on today as a landmark for equality in Britain," Deputy Prime Minister Nick Clegg, who heads the Liberal Democrats, said. "Tonight's vote shows Parliament is very strongly in favor of equal marriage."
Opposition leader Ed Miliband declared it "a proud day and an important step forward in the fight for equality in Britain."
"The overwhelming majority of Labor MPs supported this change to make sure marriage reflects the value we place on long-term, loving relationships whoever you love," he said.
MP Gerald Howarth, a former minister who voted against the bill, charged Cameron with splintering the Conservative Party, the Telegraph said.
"This is a very serious and a very sensitive issue and is causing deep divisions in the Conservative Party," he said. "There is no mandate for it."
MP Roger Gale, a senior Conservative, compared the same-sex marriage to allowing siblings to marry, the Telegraph said, while MP Matthew Offord warned the law would open the way to legalization of polygamous marriage.
Traditionalist members of Cameron's ruling Conservative Party criticized the government for bringing legislation forward without a mandate, The Guardian newspaper said, noting Cameron abandoned an 11th-hour appeal to Conservative Parliament members to back the bill.
Before the vote, Cameron was accused of "Orwellian" tactics by one party member.
"If the government is serious about this, take it away, abolish the civil partnerships bill, abolish civil marriage and create a civil union bill that applies to all people, irrespective of their sexuality or their relationships," Tory MP Roger Gale said. "That means brothers and brothers, and sisters and sisters, and brothers and sisters as well."
Twenty Conservative constituency chairmen wrote Cameron asking him to postpone the vote until after the 2015 election.
"Resignations from the party are beginning to multiply and we fear that, if enacted, this bill will lead to significant damage to the Conservative Party in the run-up to the 2015 election," they said.
The bill would legalize same-sex marriage in England and Wales. Scottish First Minister Alex Salmond is sponsoring a similar proposal in the Scottish Parliament.
Both the Church of England and the Roman Catholic Church have campaigned against the bill.