Left-wing MPs greeted the vote with a standing ovation, although one Communist Party member, Patrice Carvalho, voted against.
Only one MP from the mainstream right-wing UMP, the openly gay mayor of Coulommiers, near Paris, Franck Riester, vote for it, while two others abstained.
The UMP has joined conservative Catholics and hard-right groups in opposing the law.
As well as filibustering by raising points of order, demanding suspensions of sittings and intervening frequently in the debate, right-wingers tabled more than 5,000 amendments in a bid to hold up the vote.
The house voted 183-85 against a number of UMP amendments that would have deleted the article and 171-71 against a number proposing a “civil alliance” as an alternative to marriage for gay couples. France has had a civil partnership, known as Pacs, since 1999.
UMP MP Philippe Gosselin accused the government of ramming the legislation through.
"Today it is marriage and adoption. Tomorrow it will be medically assisted conception and surrogate mothers," he said.
The bill faces at least another week of parliamentary scrutiny before a final vote scheduled for 12 February.