Mrs Merkel confirmed the deal at a news conference and said a CDU-SPD "grand coalition" would have to create jobs and push through economic reforms.
Under the deal, the SPD will take eight ministerial posts, against a reported six for the CDU and their CSU allies.
It is unclear whether opponent Gerhard Schroeder will be in the coalition.
Both the former Chancellor Mr Schroeder and Mrs Merkel had laid claim to the chancellery after a tight election on 18 September.
The "grand coalition" deal must still be approved by both parties and parliament.
Hard bargaining
Further CDU-SPD coalition talks are being held. The two parties have already held three rounds of what they called exploratory talks.
"We have set our aim to create a coalition that stands for new policies," Mrs Merkel said. "We want to work together for the people of this country."
Even if agreement has been reached, it will only be the start of a lengthy and more detailed negotiation on the small print of future government policy, the BBC's Ray Furlong reports.
It all suggests just how difficult it might be for a "grand coalition" to govern Germany if it is indeed formed as anticipated.
Such a formation has been tried only once before in Germany's post-war history - in the 1960s.
Mrs Merkel said on Monday there was "no good alternative to a reform course in Germany".
Key SPD posts
A senior Social Democrat source quoted by Reuters news agency said the SPD was poised to fill the ministries of foreign affairs, finance, justice and labour.
Christian Social Union (CSU) chief and Bavarian leader Edmund Stoiber on Monday confirmed he would become the new economy minister.
While opinion polls in the run-up to September's poll had given Mrs Merkel a clear lead, her conservatives emerged just four seats ahead of Mr Schroeder's SPD when the votes were counted.
Denied a clear majority, she was thus unable to form her preferred coalition with the smaller, liberal FDP - pushing the conservatives into coalition talks with the Social Democrats.
Mr Schroeder had initially engineered an early election by deliberately losing a confidence vote in parliament, arguing that he needed a new mandate to push through controversial economic reforms.
His SPD-Green coalition faced strong opposition to reforms of Germany's welfare system and labour market, which were aimed at reviving the sluggish economy and tackling unemployment running at more than 11%.
Mrs Merkel's CDU wants to ease the rules for dismissing workers, limit sector-wide wage deals and increase sales tax.