The SPD's 460,000 members will have the final say on the whole agreement in a postal vote, the result of which will be announced on 2 March.

Those opposed to any deal with Mrs Merkel include a new group within the SPD calling itself NoGroKo (no grand coalition).

Why does Germany's government matter?

By Damien McGuinness, BBC News, Berlin

Handing Germany's centre-left control of finance, foreign and labour policy would have a big impact on the rest of the world, particularly Europe.

The promised spending spree on infrastructure and services will likely boost Germany's economy further, and the tax cuts may give an added boost to German consumer spending.

A Social Democrat finance ministry - replacing pro-austerity Wolfgang Schäuble - is more likely to go along with French President Macron's ambitious plans for EU reform, by allowing more German support for struggling eurozone economies.

Mr Macron wants to create a common eurozone budget and a eurozone finance minister, but Germany has so far been wary of any move that might lead to what it calls a "transfer union" used to prop up indebted governments.

An SPD-led finance ministry could be much more amenable to Mr Macron's proposals.

And at home these powerful ministries would help the SPD push for key left-wing policies, such as better rights for employees.

Media playback is unsupported on your device

Media captionGerman post-war politics in two minutes

All of this could go down well with SPD party members, who will vote on any final coalition deal.

An agreement which looks like a win for the SPD will increase the likelihood that they will vote yes.

But if they vote no, then the most likely outcome could be fresh elections.

But inside Germany, FDP leader Christian Lindner said the CDU had been "willing to give the SPD everything - key ministries and top positions - to keep the chancellorship".

He said in a tweet: "Relaunching the German model in this parliament with this arrangement and this chancellor will clearly not be possible."

Meanwhile Alice Weidel, the head of the far-right AfD's group of MPs in the new parliament, criticised the coalition's proposed immigration policy, which would see up to 220,000 asylum seekers given residency each year and a scheme to encourage highly-qualified people to move to Germany.