Hundreds of Russian troops in Ukraine were encircled in one of their main garrisons on Friday, on the verge of one of the worst defeats of the war, overshadowing President Vladimir Putin's celebration to proclaim his annexation of seized land.
The pro-Russian leader in Ukraine's Donetsk province acknowledged his forces had lost full control of Yampil and Dobryshev, villages north and east of the city of Lyman, leaving Moscow's main garrison in northern Donetsk "half-encircled".
The Ukrainian army was "trying at all costs to spoil our historic events", Denis Pushilin said, referring to an annexation ceremony he was due to attend later on Friday with Putin at the Kremlin.
"This is very unpleasant news, but we must look soberly at the situation and draw conclusions from our mistakes."
Ukraine's military said it was withholding details until the situation was stabilised, but that an operation was under way to encircle Russian forces in the area.
"All the approaches and logistic routes of the enemy, through which they delivered ammunition and manpower, are in fact under fire control" of the Ukrainian army, said Serhii Cherevatyi, a spokesperson Ukrainian troops in the east.
Oleksiy Goncharenko, a high profile Ukrainian lawmaker, tweeted: "Lyman is surrounded! The Ukrainian army is already in Yampil. The Russian army is trying to escape."
Pro-Russian military bloggers reported Ukrainian forces had cut off the escape of thousands of Russian troops. Pushilin said one road to Lyman was still open, though he acknowledged it was now under Ukrainian artillery fire.
SHEETS DRAPED OVER BODIES
Further south, missiles tore through a convoy of civilian cars preparing to cross from Ukrainian-held territory near Zaporizhzhia into the Russian-occupied zone, killing at least 23 civilians. Ukrainian officials called it a deliberate Russian attempt to sever the last links across the front. Moscow blamed the Ukrainians.
President Volodymyr Zelenskiy said the attack showed "the enemy is raging and seeking revenge for our steadfastness and his failures".
"Bloodthirsty scum! You will definitely answer. For every lost Ukrainian life!" Zelenskiy wrote on Telegram.
The convoy of cars was assembling at a car park to try to cross into Russian-held territory near Zaporizhzhia, the Ukrainian-held capital of a region Moscow claims to be annexing. One checkpoint in the area has been open in recent days allowing civilians to cross the front.
A crater had been gouged in the ground near two lines of vehicles. The impact had thrown chunks of dirt into the air and sprayed shrapnel across cars packed with belongings, blankets and suitcase. Reuters saw around a dozen bodies.
Plastic sheets were draped over the bodies of a woman and young man in a green car. A dead cat lay next to the young man in the rear seat. Two bodies lay in a white mini-van in front of another car, its windows blown out and the sides pitted with shrapnel. The corpse of an elderly woman lay nearby, next to her shopping bag.
"So far, 23 dead and 28 wounded. All civilians," Zaporizhzhia regional governor Oleksandr Starukh wrote on Telegram. "The occupiers struck defenceless Ukrainians. This is another terrorist attack by a terrorist country."
A woman who gave her name as Nataliya said she and her husband had visited their children in Zaporizhzhia and were preparing to cross back into Russian-held territory.
"We were returning to my mother who is 90 years old. We have been spared. It's a miracle," she said, standing with her husband beside their car.
Police Colonel Sergey Ujryumov, head of the explosive disposal unit of the Zaporizhzhia police department, said the car park was hit by three S300 missiles.
Pro-Russian officials said, without evidence, that Ukraine was to blame for the attack. Russia has always denied its forces target civilians, despite countless confirmed incidents documented by the United Nations and other bodies.
Russia's annexation of the Russian-occupied areas of Donetsk, Luhansk, Kherson and Zaporizhzhia was being carried out after what the West denounced as phoney referendums at gunpoint.
UN chief Antonio Guterres called it a "dangerous escalation" and a violation of the United Nations charter.
"It can still be stopped. But to stop it we have to stop that person in Russia who wants war more than life. Your lives, citizens of Russia," Zelenskiy said in a Thursday evening address.
Since Putin's troops were forced to flee from Ukraine's Kharkiv province this month, the Kremlin leader has chosen to escalate the war. Last week he endorsed the annexation of Russian-held territory, ordered the call-up of hundreds of thousands of reservists, and threatened to use nuclear weapons if Russia was attacked.
On Friday, the Kremlin repeated its assertion that any attacks on territory it is now annexing would be attacks on Russia itself. Ukraine has said it will take back all its territory.
Zelenskiy promised a strong response to the annexations and summoned his defence and security chiefs for an emergency meeting on Friday, an official said.
In a TV address on the eve of the annexation ceremony, Putin acknowledged "mistakes" in his military call-up, but said they would be corrected and people who should not have been drafted would be released.
Tens of thousands of men have fled Russia to escape the call-up. Western countries say Moscow is rushing unprepared troops to the frontlines with little or no training and inadequate equipment. Britain's Ministry of Defence said troops were being told to buy their own first aid kits.
Putin's call-up order gave no details of who must be drafted. In his TV address,Putin acknowledged that call-up notices had been given to older men and others he said should be exempt, and promised that all such mistakes would be rectified.
Members of ethnic minorities say they have been particularly targetted, leading to unrest in southern Russia and Siberia.