France has become the 14th country in the world to legalize marriage equality.
But almost as soon as the vote passed, opponents of the bill carried out protests that eventually turned violent.
The debate over gay marriage exposed divisions in France, between the conservative right and the Socialist government of President Francois Hollande.
With a majority, Hollande's government was able to win the vote easily 331 to 225, and Justice Minister Christiane Taubira said the first weddings could happen as early as June.
"We believe that the first weddings will be beautiful and that they'll bring a breeze of joy, and that those who are opposed to them today will surely be confounded when they are overcome with the happiness of the newlyweds and the families," she said.
Civil unions have been legal in France since 1999, but this bill goes much further.
After the vote, many supporters gathered in a square in central Paris, just behind City Hall, to celebrate - including Paris' gay mayor, Bertrand Delanoe.
"This is huge! France was lagging behind. We had to wait 14 years after the civil union to finally obtain the right to get married, with equal rights for everyone. I feel great!," said Sylvain Rouzel.
As well, opponents gathered outside the Parliament building to protest the bill - which is known as the "Marriage For All" law.
Shortly before midnight, a few hundred people started throwing bottles, cans and metal bars at police, who responded with tear gas.
One protester, Claire Baron, a mother of two, said she "will oppose the bill until the end."
"I'll keep going to the protests, I don't give in. The bill is not effective yet, the president of the Republic must listen to our voices. We are here to defend family values. Children need a mom and a dad," she said.
The French Interior Minister Manuel Valls later said some people, linked to far-right organizations, were arrested.
Police say there's been a rise in assaults against gay couples in recent weeks, and some politicians have received threats.
The most recent attack happened last weekend, when a gay man was beaten as he and his partner left a nightclub in the city of Nice.
Raphaël Leclerc was punched and kicked after being jumped by three men at around 5am on Saturday. He posted a picture of his face on Facebook (below) to raise awareness about homophobia.
A few weeks ago, another gay man Wilfred de Bruijn, was also badly beaten in an apparent anti-gay attack in Paris.
He posted a photo of his face on Facebook, writing "Sorry to show you this. It's the face of homophobia. Last night... Olivier and I were badly beaten just for walking arm in arm."
"I woke up in an ambulance covered in blood, missing tooth and broken bones around the eye. I'm home now. Very sad."
The 'Marriage For All' law is one of France's biggest social reforms in the past 30 years, as it allows same-sex couples to both marry and adopt children.
Some of the strongest opposition to the law has to do with allowing gay couples to adopt children.