Italy's lower assembly has granted final parliamentary approval to a bill that will legalise same-sex civil unions and end the country's status as the last Western European nation not allowing them.
Rome authorities had long faced calls to change the status quo, including from their constitutional court and the European Court of Human Rights.
However, past reform proposals were blocked by the Vatican and conservative politicians.
"For many, today is a day for celebrations," Matteo Renzi, Italy's prime minister, wrote on Facebook just hours before members of the Chamber of Deputies in Rome approved the reform in a 372-51 vote, with 99 abstentions.
Before the final vote, the government won a vote of confidence on a motion to reject all proposed amendments to the law.
Had any of them been approved, the bill would have had to win further approval in the Senate.
While a few hundred gay-rights activists celebrated in the streets, Maria Elena Boschi, parliamentary affairs minister, followed deliberations in the chamber wearing a rainbow pin on the lapel of her jacket.
The government's parliamentary tactics, designed to pre-empt obstructionist attempts, were condemned by opposition parties and by the Italian Catholic Church as limiting democratic debate on a highly contentious issue.
Sicily Archbishop Michele Pennisi protested in an interview with the La Repubblica newspaper, saying: "They are not taking into account that a large part of the country does not want this law. I think this way of acting is a form of creeping fascism."
Matteo Salvini, the leader of the hard-right Northern League, urged mayors from his party to boycott the law, and centre-right candidate for June 5 mayoral elections in Rome, Alfio Marchini, said he would refuse to officiate civil unions for same-sex couples.
In another show of defiance, several conservative politicians said they would announce on Thursday a campaign to collect signatures for a repeal referendum.
One of them, the Northern League's Massimiliano Fedriga, said the law represented "a direct attack on the family".
Sponsored by Renzi's Democrats, the gay unions bill grants same-sex couples similar rights to married ones in terms of inheritance, housing and pension rights and hospital visits, and also allows them to take on the same surname.
No direct endorsement
The law had been under parliamentary consideration since June 2013, and several months have yet to pass before it is fully applied, as it needs to be signed by the Italian president and followed up by implementing decrees.
According to Arcigay, Italy's main gay-rights lobby group, the process will be completed in late July at the earliest, or in November at the latest.
Only then, will Italian gay partnership start being officially recognised.
In January, nationwide pro and anti-reform rallies each attracted more than one million people, according to their organisers, yet Catholic groups which mobilised against the bill won no direct endorsement from Pope Francis.
"The pope does not meddle with Italian politics," Francis said in February on the way back from a trip to Mexico.
"Because the pope belongs to everybody, he cannot enter the concrete, domestic politics of a country. This is not the pope's role."