Russia said it was pulling back troops from the eastern Kharkiv region of Ukraine as Kyiv announced massive territorial gains in its lightning counteroffensive.
A Moscow-backed separatist leader in the east meanwhile said Russian forces were fighting “difficult” battles against Kyiv’s troops in several parts of eastern Donetsk region.
A Ukrainian official also said Kyiv’s troops were closing in on the eastern city of Lysychansk, captured by Russian troops after fierce artillery battles in July.
Moscow’s announcement late Saturday of the pullback alongside Kyiv’s claim to have entered the town of Kupiansk are the most significant shifts in battlefield dynamics after months of fighting in eastern Ukraine that has been dominated by Moscow.
“A decision was made to regroup Russian troops stationed in the Balakliya and Izyum regions to bolster efforts along the Donetsk front,” Russia’s defense ministry said in a statement.
News of the drawdown came just after Ukrainian special forces published images on social media showing camouflage-clad officers with automatic weapons “in Kupiansk”, a town of about 27,000 people.
Ukrainian troops had also liberated Vasylenkovo and Artemivka in Kharkiv region, President Volodymyr Zelensky said in his evening address on Saturday.
“These last days, the Russian army has shown us its best (side) — its back,” he said. “There is no place in Ukraine for the occupiers. There never will be,” he added.
Separately speaking to the annual Yalta European Strategy forum, Zelensky said Russia “is doing everything to break the resistance of Ukraine, Europe and the world during the 90 days of this (coming) winter”, counting on an eventual weakening of Western support for Kyiv due to rising energy prices and heating problems.
“It’s their final argument,” he said.
Observers expect Ukrainian forces to make further gains in the Kharkiv region, which borders Russia and has been either controlled by Moscow-backed authorities or shelled by its artillery for months.
‘Astonishing’ advance
There was no official confirmation that Kyiv’s troops had also routed Russian forces from Izyum — an important staging ground for Moscow’s war effort with a population of around 45,000 people before the invasion.
But images flooding social media appeared to show Ukrainian forces within the city and Russian observers of the conflict said there were initial reports Moscow’s army had already withdrawn.
“Ukrainian troops are advancing in eastern Ukraine, liberating more cities and villages. Their courage coupled with Western military support brings astonishing results,” said foreign ministry spokesman Oleg Nikolenko.
“It’s crucial to keep sending arms to Ukraine. Defeating Russia on the battlefield means winning peace in Ukraine,” he added.
Ukraine’s push appears to have caught Russian troops largely off guard.
State media on Friday published footage of Russian tanks, artillery and support vehicles moving towards Kharkiv in columns on dirt roads — a bid to dispatch reinforcements to the region.
But a day later, Russia announced a three-day operation to redeploy forces, moving away from Kharkiv to the industrial Donbas region further south.
Houses gutted
The capture of urban hubs like Kupiansk and Izyum would be a serious blow to Moscow’s ability to resupply its positions on the eastern frontline, and could see Russia’s hold over the east severely diminished.
In one village captured by the advancing Ukrainians, electric pylons were toppled, cables lay across the ground and houses were gutted, AFP journalists reported.
On the road towards the recaptured town of Balakliya, the journalists saw abandoned Russian armor painted with the letter “Z” — a symbol of Russia’s invasion.
Ukrainian troops were also advancing along portions of the southern front line, a spokesperson said Saturday, in some regions by dozens of kilometers, into territory captured by Russian troops at the beginning of the invasion.
Russian news agencies reported six large explosions in Nova Kakhovka, a town held by Russian troops in the southern Kherson region.
In the eastern Donetsk region, rebel leader Denis Pushilin said the situation in the town of Lyman was “very difficult” and that there was also fighting in “a number of other localities”, particularly in the northern part of the region.
German pledge
German Foreign Minister Annalena Baerbock arrived in the Ukrainian capital on Saturday for a surprise visit, which she said was to demonstrate Berlin’s support for Ukraine.
It came a week after Ukrainian Prime Minister Denys Shmyhal’s trip to Berlin where he repeated Kyiv’s call for weapons.
Baerbock pledged continued “deliveries of weapons, and with humanitarian and financial support”.
Over recent weeks Germany has sent an array of arms to Kyiv, supplementing other Western-supplied weapons that observers say have hurt Russia’s supply and command abilities.
Baerbock’s visit follows one by US Secretary of State Antony Blinken, during which he promised a nearly $3 billion military package for Ukraine.
Shmyhal on Saturday also criticized a “passive attitude” by the International Monetary Fund towards Ukraine’s request for aid to help its economy, which has been badly hit by the Russian invasion.
He spoke at the Yalta forum, where Ukraine Foreign Minister Dmytro Kuleba also said India had “benefited from our sacrifices” because of Western sanctions on Russian oil.
India has the chance to buy Russian oil at “a very low price” because “someone dies in Ukraine and someone in Europe applies sanctions”, Kuleba said
However, Russian forces were still inflicting serious damage with a campaign of shelling in Kharkiv city and the industrial region of Donbas in the east.
Russian shelling on Saturday on Kharkiv city’s Kholodnogirskiy district had left at least one person dead and two injured, the head of the region, Oleg Synegubov, said.
Earlier, Pavlo Kyrylenko, the head of the Donetsk region, which is part of Donbas, said Russian shelling had left two dead.
Concerns have also been rising in recent days over fresh shelling near Ukraine’s Zaporizhzhia nuclear power plant in the south of the country.