European countries will pay Ankara €3 billion overall – with €500 million coming from the EU budget and the rest made up by member states – to help cover the costs of the more than two million refugees already in the country, with more arriving every day.
"Turkey justifiably expects the EU to take some of the burden off its shoulders," Merkel said, adding that so far President Recep Tayyip Erdogan had received little international aid in the refugee crisis.
It is not yet clear how the remaining €2.5 billion will be divided up among member states, athough if usual EU formulas are used Germany could itself face a bill of €500 million.
As well as the cash aid, Turkey's talks with the EU on visa-free entry to Europe for its citizens – possibly in effect by October 2016 - and talks to one day join the bloc will be sped up, with a new chapter of negotiations opened as soon as next month.
In return, Ankara promised to do a better job of guarding its coasts and hunting down people traffickers.
The deal is a big step for Europe, which has proved reluctant to move forward with accession negotiations in recent years, citing Erdogan's increasingly authoritarian governance of his country.
Turkey has come in for sharp criticism of its justice system and a lack of press freedom in particular.
"Human rights, press freedom – all these things are important and will keep coming back up," EU Commission President Jean-Claude Juncker said.