Russia presses offensive in Ukraine

Firefighters after a Russian attack outside Kharkiv, Ukraine.
New Russian attacks on Ukrainian cities follow the sinking of its flagship cruiser in the Black Sea. -AP

Russia's warplanes have bombed Lviv and its missiles struck Kyiv and Kharkiv, as Moscow followed through on a threat to launch more long-range attacks on Ukrainian cities after its Black Sea Fleet's flagship was sunk.

In besieged Mariupol, scene of the war's heaviest fighting and worst humanitarian catastrophe, Russian troops on Saturday pressed recent advances, hoping to make up for their failure to capture Kyiv by seizing their first big prize of the war.

Moscow said its planes had struck a tank repair factory in the capital, where an explosion was heard and smoke seen in the southeastern Darnytskyi district. Kyiv's mayor said at least one person had died and medics were fighting to save others.

Ukraine's military said Russian warplanes that took off from Belarus had also fired missiles at the Lviv region near the Polish border, where four cruise missiles were shot down by Ukrainian air defences.

The governor of Kharkiv province in the east said at least one person had died and 18 were injured in a missile strike. In Mykolaiv, a city close to the southern front, Russia said it had struck a military vehicle repair factory.

The attacks followed Russia's announcement on Friday that it would intensify long-range strikes in retaliation for unspecified acts of "sabotage" and "terrorism", hours after it confirmed the sinking of its Black Sea flagship, the Moskva.

Kyiv and Washington say the ship was hit by Ukrainian missiles. Moscow says it sank after a fire.

A month and a half into President Vladimir Putin's invasion of Ukraine, Russia is trying to capture territory in the south and east after withdrawing from the north following a massive assault on Kyiv that was repelled at the capital's outskirts.

Russian troops that pulled out of the north left behind towns littered with bodies of civilians, evidence of what US President Joe Biden this week called genocide - an attempt to erase Ukrainian national identity.

Russia denies targeting civilians and says the aim of its "special military operation" is to disarm its neighbour, defeat nationalists and protect separatists in the southeast.

Ukraine said its troops are still holding out in the ruins of Mariupol, where the defence is concentrated around Azovstal, another huge steel works that has yet to yield.

"The situation in Mariupol is difficult ... Fighting is happening right now. The Russian army is constantly calling on additional units to storm the city," defence ministry spokesperson Oleksandr Motuzyanyk told a televised briefing.

The owner of both of Mariupol's giant steel factories, Ukraine's richest man Rinat Akhmetov, vowed to rebuild the city.

"Mariupol is a global tragedy and a global example of heroism. For me, Mariupol has been and will always be a Ukrainian city," Akhmetov told Reuters.

If Mariupol falls it would be Russia's biggest prize of the war so far. It is the main port of the Donbas, a region of two provinces in the southeast which Moscow demands be fully ceded to separatists.

Ukraine says it has so far held off Russian advances elsewhere in the Donbas. One person was killed and three wounded in shelling in Luhansk, one of the Donbas provinces, Governor Serhiy Gaidai said in an online post.

Ukraine's President Volodymyr Zelenskiy said about 2500-3000 Ukrainian troops have been killed so far, compared to up to 20,000 Russian troops.

Moscow has given no updates on its military casualties since March 25, when it said 1351 had died. Western estimates of Russian losses are many times higher, while there are few independent estimates of Ukraine's losses.

Ukraine says civilian deaths are impossible to count, estimating tens of thousands have been killed in Mariupol alone.