Russian troops are withdrawing from around Ukraine's second-largest city after weeks of heavy bombardment, the Ukrainian military says, as Kyiv and Moscow's forces engaged in a grinding battle for the country's eastern industrial heartland.
Ukraine officials said the Russians were pulling back from Kharkiv and focusing on guarding supply routes, while launching mortar, artillery and airstrikes in the eastern Donetsk province in order to "deplete Ukrainian forces and destroy fortifications."
Defence Minister Oleksii Reznikov said Ukraine was "entering a new - long-term - phase of the war."
President Volodymyr Zelenskyy said Ukrainians were doing their "maximum" to drive out the invaders and that the outcome of the war would depend on support from Europe and other allies.
"No one today can predict how long this war will last," Zelenskyy said in his nightly video address late on Friday.
After Russian forces failed to capture Kyiv following the February 24 invasion, President Vladimir Putin shifted his focus to the Donbas, an industrial region where Ukrainian troops have battled Moscow-backed separatists since 2014.
Russia's offensive aims to encircle Ukraine's most experienced and best-equipped troops, who are based in the country's east, and to seize parts of the Donbas that remain in Ukraine's control.
But the battle appears to be a back-and-forth slog with no major breakthroughs on either side.
Russia has captured some Donbas villages and towns, including Rubizhne, a city with a prewar population of around 55,000.
Zelenskyy said Ukraine's forces had also made progress, retaking six Ukrainian towns or villages in the past day.
Ukraine has also driven Russian forces back around Kharkiv in the north. The largely Russian-speaking city was a key Russian military objective in the early phase of the war, when Moscow was still hoping to capture and hold major Ukrainian cities, and endured weeks of intense shelling.
The Institute for the Study of War, a Washington-based think tank, said Ukraine "appears to have won the Battle of Kharkiv." It said, "Ukrainian forces prevented Russian troops from encircling, let alone seizing Kharkiv, and then expelled them from around the city."
Regional governor Oleh Sinegubov said in a post on the Telegram messaging app that there had been no shelling attacks on Kharkiv in the past day.
He said Ukraine had launched a counteroffensive near Izyum, a city 125 kilometres south of Kharkiv that has been under effective Russian control since at least the beginning of April.
Fighting was fierce on the Siversky Donets River near the city of Severodonetsk, where Ukraine has launched counterattacks but failed to halt Russia's advance, said Oleh Zhdanov, an independent Ukrainian military analyst.
"The fate of a large portion of the Ukrainian army is being decided -- there are about 40,000 Ukrainian soldiers," he said.
However, Russian forces suffered heavy losses in a Ukrainian attack that destroyed a pontoon bridge they were using to try to cross the same river -- the largest in eastern Ukraine -- in the town of Bilohorivka, Ukrainian and British officials said, in another sign of Moscow's struggle to salvage a war gone awry.
Ukraine's airborne command released photos and video of what it said was a damaged Russian pontoon bridge over the Siversky Donets River and at least 73 destroyed or damaged Russian military vehicles nearby.
Britain's Defence Ministry said Russia lost "significant armoured manoeuvre elements" of at least one battalion tactical group in the attack. It said the risky river crossing was a sign of "the pressure the Russian commanders are under to make progress in their operations in eastern Ukraine."
Australian Associated Press
Sign up for our newsletter to stay up to date.