The lower house of the French parliament has approved the first reading of a bill to introduce same-sex
marriage.
The bill would also legalise same-sex adoption.
President Francois Hollande’s Socialists have pushed the measure through the National Assembly in a 329-to-229 vote.
The move came despite a series of demonstrations in recent weeks by opponents of the bill.
A demonstration in Paris last month drew the biggest crowd of any march in the French capital in three decades. Observers said that up to 800,000 people participated.
The demonstration was led by a comedienne and a number of gay men.
Polls show most French support legalising same-sex marriage, although support has declined in recent weeks. The public is evenly divided on adoption.
The Assembly has been debating the bill and voting on its individual articles in recent weeks. The overall bill now goes to the Senate, which is also controlled by the Socialists and their allies.
The plan continues to face determined opposition from the Catholic Church, among others. Another big rally against the law is planned for next month.
Cardinal Andre Vingt-Trois, the archbishop of Paris, voiced his opposition at a meeting of French bishops in Lourdes last year.
Opening up marriage to same-sex couples “would be a transformation of marriage that would affect everyone,” he said. At the same time, failing to recognise gender difference within marriage and the family would be a “deceit” that would rock the foundations of society and lead to discrimination between children, he said.
Other religious groups, including Muslims, Jews and Buddhists, have also expressed their concern over the draft bill, and many lawmakers and hundreds of mayors are against the legislation.