The leaders announced that a ceasefire would begin on February 15.
The deal also includes weapon withdrawals and prisoner exchanges, but key issues remain to be settled.
The pro-Russian rebels in eastern Ukraine have signed the agreement. Thousands of people have died in almost a year of fighting in the region.
The deal is very similar to a ceasefire agreed in September 2014, which unraveled very quickly.
Key unresolved issues include the status of Debaltseve, a government-held town surrounded by rebels, where fighting is still going on.
Further talks will also be held on self-rule in parts of Donetsk and Luhansk separatist regions.
President Francois Hollande said he and Chancellor Angela Merkel would ask their European Union partners to support the deal at a summit in Brussels on Thursday.
Angela Merkel said there was now a “glimmer of hope” but big hurdles remained, while Francois Hollande said “the coming hours will be decisive”.
EU foreign policy chief Federica Mogherini said European leaders in Brussels would be discussing ways to “help and sustain the agreement”, but she ruled out the threat of fresh sanctions on Russia.
“I think today the issue is not going to be discussion of further sanctions… but rather positive ways the EU can contribute to make this first step just one of many others,” she told reporters in Brussels.
The US said the deal was a “significant step” but expressed concern over reports of continued fighting in eastern Ukraine, saying it was “inconsistent with the spirit of the accord”.
Last week, the US refused to rule out supplying “lethal defensive weapons” to Ukraine if diplomacy failed, but Russia says that would worsen the crisis.
Speaking after the talks ended, Vladimir Putin told Russian television: “It wasn’t the best night for me, but it’s a good morning.”
Petro Poroshenko – who had accused Russia of making “unacceptable” demands – said that “despite tension and pressure” Ukraine had not succumbed to “ultimatums”.
Russia rejects accusations by Ukraine and Western powers that it is supplying weapons and personnel to the rebels – who are seeking independence for the areas they control.
The separatists gave the agreement a cautious welcome.
In Luhansk, rebel leader Igor Plotnitskiy said: “We hope that thanks to our efforts today, Ukraine will change and stop firing at civilians, hospitals and socially important facilities.”
Donetsk separatist leader Alexander Zakharchenko said Kiev would be to blame if the ceasefire collapsed and warned that there would “be no meetings and no new agreements”.
More than 5,400 people have been killed since the conflict began. There has been a dramatic rise in casualties in recent days, with 263 civilians killed in populated areas between January 31 and February 5.
Minsk agreement includes:
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…