The Chancellor voted against it, but same-sex marriage has been approved by a big margin in the German parliament.
The country has become the 14th in Europe and 23rd in the world to legalise same-sex weddings.
This after Angela Merkel did a u-turn and allowed MPs in her ruling conservative bloc to follow their conscience instead of voting along party lines.
After the vote, Merkel told reporters: “For me, matrimony protected by the constitution means marriage between a man and a woman, and therefore I did not vote for this draft law today.”
But Merkel added that she hopes the vote promotes “respect between different opinions and brings more social cohesion and peace”.
Some in the German media think Merkel’s change of heart on the issue might have been a strategy to look for extra votes in the upcoming elections in September.
Her announcement on the matter was condemned by some in her traditionally Catholic conservative bloc.
One supporter of the law, Ulli Köppe, spoke outside the parliament after the result came through: “I am no less worthy than a heterosexual man. I’m equal, and that had to be fixed, and now it is, and I am unbelievably happy.
“And if I want to, I now can – in one of the most democratic countries in the world – finally have the opportunity to call my partner my husband.”
Celebrations are being held across the country after the vote.
Lesbian woman Shoshana Brand said: “We’ve been married for eight years, very happily married, but we were never allowed to call it that. We feel absolutely equal, proud and happy.”
The German parliament voted by 393 votes in favour of same-sex marriage and 226 against.
The bill is likely to be signed into law by the president in July.
Lawmakers in Germany voted to allow same-sex marriage after an emotional session of Parliament https://t.co/qLg6178NrE— The New York Times (@nytimes) June 30, 2017
Germany has voted to legalise same-sex marriage 🌈 pic.twitter.com/4bavy1miqN— ITV News (@itvnews) June 30, 2017