The Ukrainian president says his forces are making an "organised" withdrawal from the embattled town of Debaltseve.
Petro Poroshenko said 80% of Ukraine's troops left on Wednesday morning after several days of fierce fighting.
Russia said Ukrainian forces had tried to fight their way out of the town after being encircled but Mr Poroshenko insisted they were never surrounded.
The rebel advance on Debaltseve, which came in spite of the recent ceasefire agreement, has been widely condemned.
Nato chief Jens Stoltenberg said the rebels' offensive had put the wider peace agreement at risk and urged Russia to "use all its influence on the separatists to make them respect the ceasefire".
He also called on Moscow to withdraw its forces from Ukraine, saying Russian troops, artillery and air defence units were still active in the country.
Earlier, Russian Foreign Minister Sergei Lavrov insisted the rebels' actions in Debaltseve had not violated the ceasefire because it was a rebel-held city when the peace agreement was signed last week.
He urged rebels to provide troops who surrendered with food and clothes and said he hoped the situation in the city would "not be used to find a pretext to actually undermine [the agreement]".
Eyewitnesses saw dozens of tanks and columns of weary Ukrainian troops retreating from Debaltseve on Wednesday.
Russia's state-controlled Channel One TV showed footage of what it said were rebels raising their flag on top of a high-rise building in the town.
Later rebel spokesman Eduard Basurin was quoted in Russian media as saying Debaltseve was fully under the control of separatists, although there were still "disparate groups of the enemy" in the southern part of town.
One rebel commander in the city told the BBC that conditions were dire, with no electricity and a shortage of food and water. He said rebels were sharing their rations with the remaining civilians.
President Poroshenko said in a statement: "Debaltseve was under our control, there was no encirclement, and our troops left the area in a planned and organised manner."
He called for "a firm reaction from the world to Russia's brutal violation of the Minsk agreements, the ceasefire regime and the withdrawal of heavy weaponry".
Mr Poroshenko visited the soldiers who had left Debaltseve in the town of Artemivsk on Wednesday. Earlier, he said it would be an honour to shake hands with "Ukrainian heroes".
A senior Ukrainian military official said 22 Ukrainian soldiers had died in Debaltseve over the past three days.
Earlier, an official at a morgue in Artemivsk said the bodies of 25 Ukrainian soldiers had been brought to the facility from Debaltseve but this has not been confirmed.
Rebels have claimed that hundreds of Ukrainian troops were killed in clashes around the city, but Mr Poroshenko denied this.
The government in Kiev admitted that that some soldiers were taken prisoner in Debaltseve, but gave no details on how many were seized.
At the scene: Paul Adams, BBC News, eastern Ukraine
All Wednesday, the road out of Debaltseve into government-held territory thundered to the sound of retreating armour - tanks and troop carriers full of exhausted, sometimes defiant soldiers.
In a bus by the side of the road, I found one Yuri slumped on his seat, across the aisle from a sleeping colleague.
He said the situation had become increasingly dire and individual units had taken their own decisions to leave. They were running out of ammunition and in danger of being surrounded, he told me.
He blamed Russian President Vladimir Putin for deceiving everyone about the ceasefire. We know him well by now, he said. When he says something is guaranteed, that means there's some kind of trap coming up.
In nearby fields, mortars and multiple rocket launchers fired back at the rebels - providing cover for those still trying to leave Debaltseve.
President Poroshenko says the withdrawal was planned and organised, but on the ground it looked like a hasty retreat in the face of overwhelming odds.
The withdrawal came after Russian President Vladimir Putin urged Ukraine's troops in Debaltseve to surrender.
Mr Putin is due to speak by telephone later on Wednesday to German Chancellor Angela Merkel, French President Francois Hollande and Mr Poroshenko, according to the French government.
Spokesman Stephane Le Foll insisted the agreement announced last week by the four leaders to end the fighting in eastern Ukraine was not dead, and that progress had been made.
International observers monitoring the truce have been unable to enter Debaltseve.
The city has become a key prize for rebels and government forces, as it sits on a strategic railway line linking the rebel-held cities of Donetsk and Luhansk.
Most of its 25,000 population has been evacuated but about 7,000 civilians are still believed trapped by the fighting.
The ceasefire, which came into effect on Sunday, has been broadly observed elsewhere and some rebel heavy weaponry was said to have been withdrawn.
The UN says more than 5,600 people have been killed in the conflict, but there are fears the actual death toll could be much higher.
Fighting began in eastern Ukraine in April, a month after Russia annexed the Crimea peninsula.
Ukraine's pro-Western government says Russia is supporting the separatists with troops and weapons, but the Kremlin has consistently denied this.
- Ceasefire from 00:01 on 15 February (22:01 GMT 14 February)
- Heavy weapons to be withdrawn, beginning on 16 February and completed in two weeks - beyond a buffer zone behind the current front line for Ukrainian forces and behind the September front line for separatist forces
- All prisoners to be released; amnesty for those involved in fighting
- Withdrawal of all foreign troops and weapons from Ukrainian territory. Disarmament of all illegal groups
- Ukraine to allow resumption of normal life in rebel areas, by lifting restrictions
- Constitutional reform to enable decentralisation for rebel regions by the end of 2015
- Ukraine to control border with Russia if conditions met by the end of 2015