At a special party congress in the western city of Bonn, 372 out of 642 party delegates backed SPD chief Martin Schulz's push to approve a preliminary coalition deal painstakingly hammered out with Merkel's CDU/CSU bloc.
The thumbs-up will come as a huge relief to Merkel, staving off the threat of snap polls or the unappealing prospect of leading an unstable minority government. It also means a reprieve for Schulz who had staked his political future on a “yes” vote, despite initially rejecting another stint as Merkel's junior coalition partner.
“We are relieved, the result shows that we had to fight for this majority,” Schulz said.
The vote, which was closely watched in Germany and abroad, paves the way for negotiators to launch in-depth negotiations this week. If the talks are successfully concluded, a new government could be in place by mid-March — nearly six months after September's tricky election.
Germany's political breakthrough is likely to be welcomed in capitals across Europe, eager to see an end to the political impasse in a pivotal member state that has left key EU policy decisions on hold.
French President Emmanuel Macron has been openly rooting for a repeat grand alliance in Berlin, given the enthusiasm among the pro-EU SPD for some of his more ambitious reform plans such as installing a eurozone budget and finance minister.
Macron “is waiting for a partner,” Schulz, a former European Parliament chief, said in an impassioned speech to delegates ahead of the vote. He urged the SPD to seize the chance to lead reforms for deeper EU integration and help counter the rise of right-wing populists across the continent.
“Only a strong and united SPD can make our country and Europe stronger,” he said. “We can halt the right-wing wave across Europe.”
The vote outcome was far from certain after leading SPD members savaged a coalition blueprint thrashed out by the three parties this month, complaining the 28-page document contained too many concessions on issues such as migration, taxes and healthcare.
Germany has been stuck in political limbo since September's inconclusive general election saw mainstream parties bleed support to the far-right AfD, which tapped into anger over Merkel's open-door refugee policy. Stung by his party's worst result in decades, Schulz initially vowed to go into opposition but then caved to pressure to reconsider after Merkel's attempt at a novel tie-up with two smaller parties collapsed in November.
The U-turn angered many grassroots SPD'ers, who believed some time on the opposition benches would help the 150-year-old party regain its fighting spirit. Schulz faced fierce resistance from the party's left and youth wings, who criticised the preliminary coalition agreement as falling short of campaign pledges.
The 28-page coalition blueprint that lays the basis for future government policies promises more spending on childcare, education and pensions as well as joining France in a push to overhaul the EU.
But the SPD failed to secure a tax hike for the rich or a restructuring of the country's two-tier healthcare system.
Schulz on Sunday admitted that the party did not get everything on its wish list and vowed to extract more concessions in the formal coalition talks. He also pledged to resist the CSU's demand to cap migrant arrivals at 200,000 a year and promised that any future coalition government would be put up for review after two years.
Sunday's vote was tense until the last minute, with a show of hands by delegates proving too close to call and forcing organisers to carry out a proper count.
Merkel, often dubbed the world's most powerful woman, has been hamstrung on the global stage as the domestic drama has played out, and she is increasingly described by commentators as entering the twilight of her rule after more than 12 years in power.
While she has now overcome a key hurdle towards clinching a fourth term as chancellor, it's not yet a done deal.
Schulz has pledged that any final coalition agreement will be put to a vote by some 440,000 rank-and-file party members — leaving Merkel's fate once again in the hands of the SPD.
By AFP's Marion Payet with Michelle Fitzpatrick in Frankfurt