Merkel's team huddled with her Bavarian CSU allies led by Horst Seehofer, who has angrily blamed her decision to allow in over one million asylum seekers since 2015 for the rise of the far-right Alternative for Germany (AfD) party.
After 10 hours of closed-door talks, Merkel's CDU and the CSU agreed they would aim to cap refugees coming to Europe's top economy at 200,000 a year, according to a draft paper – a formulation close to a long-time Seehofer demand that Merkel had repeatedly rejected.
The goal of the meeting was to settle bitter squabbles so the estranged conservative sister parties can again present a united front in upcoming coalition talks with two smaller parties – the pro-business Free Democrats (FDP) and the left-leaning and ecologist Greens.
The CSU's beleaguered Seehofer – who after a vote drubbing faces internal challengers, and state elections next year – had vowed to close his party's exposed “right flank” and win back AfD voters, crucially by taking a harder line on refugees and immigration.
In an opening salvo Sunday, the CSU had published a list of demands, including capping refugee numbers, a commitment to a “healthy patriotism” and an acknowledgement that “conservatism is sexy again”.
“We must fight the AfD head-on – and fight to get their voters back,” said its ten-point list published in mass-circulation Bild am Sonntag.
Merkel had long rejected Seehofer's signature demand for an iron-cast “upper limit” of 200,000 refugees a year – but late Sunday a deal was shaping up that some commentators dubbed an “upper limit light”.
After hours of talks to square the circle of their competing positions, “a fundamental compromise has been reached”, an alliance source told AFP.
Later, as the marathon talks ended, a party spokesman announced that Merkel and Seehofer would explain the agreement in a joint press conference at 1000 GMT Monday.
The draft deal includes a target of limiting the refugee intake at 200,000 a year, but with caveats. It also says that asylum seekers will not be turned back before their cases are assessed, in line with the German constitution.
The 200,000-figure refers to controlled entries, such as through family reunions, and refugees accepted at the EU level or under a deal between the bloc and Turkey.
If there were a repeat of the chaotic mass migration like that from war-torn Syria and other conflict zones seen in 2015, the government would reassess the issue and consult parliament on a new target figure, according to the draft proposal.
Both CDU and CSU say migrant flows must be reduced through fighting traffickers and better guarding the EU's outside borders.
And the parties also plan a broader immigration law aimed at attracting qualified migrants with labour skills sought by German industry – matching a core demand of the FDP.
They also want to renew a push to declare three North African nations “safe countries of origin”, raising the bar for asylum claims from there – a demand so far blocked by the Greens, who point to human rights abuses in those countries.
The emergence of the anti-immigration AfD, which scored 12.6 percent to enter the opposition benches, has stunned Germany by breaking a long-standing taboo on hard-right parties sitting in the Bundestag.
Its success came at the expense of all the mainstream parties, making it harder for Merkel to form a working majority.
Her only chance now, if she wants to avoid fresh elections that could further boost the AfD, is an alliance with two other parties that make for odd bedfellows, the FDP and Greens.
Such a power pact – dubbed a “Jamaica coalition” because the three party colours match those of the Caribbean nation's flag – would be a first at the federal level in Germany.
Tough talks lie ahead as the parties differ on refugees, EU policy and the Greens' core demands, including phasing out coal plants and fossil fuel vehicles.
The Greens' co-leader Cem Ozdemir, voicing some impatience with the divided conservatives, warned that they “must not block the formation of a government for weeks”.