Russia's first missile blitz on Ukrainian cities in weeks was met in Kyiv with defiance and disgust over the targeting of civilians, while Ukrainian forces defending the eastern town of Bakhmut continued to thwart Russian attempts to break through.
The Ukrainian military said on Friday that its soldiers had repelled 102 attacks in past 24 hours in Bakhmut, a town that has been a key objective for Russian forces since August.
The pre-dawn missile barrage on Thursday killed at least nine civilians and cut electricity supplies in several cities, but there was relief that the risk of a catastrophic meltdown at the Zaporizhzhia nuclear plant was averted as power was restored after a temporary disconnection from the Ukrainian grid.
Ukraine said its air defences shot down many drones and missiles but Russia also fired six Kinzhal hypersonic cruise missiles which they had no way to stop.
Moscow confirmed it had used Kinzhal - Russian for dagger - missiles in Thursday's attack.
The mass strikes on targets far from the front were the first such wave since mid-February, breaking a lull in the air campaign against Ukraine's civil infrastructure that Russia launched five months ago.
"The occupiers can only terrorise civilians. That's all they can do," said Ukrainian President Volodymyr Zelenskiy. "But it won't help them. They won't avoid responsibility for everything they have done."
Russia has repeatedly denied targeting civilians. Its defence ministry said it had carried out a "massive retaliatory strike" as payback for a cross-border raid last week, and claimed to have destroyed drone bases, disrupted railways and damaged facilities that make and repair arms.
Moscow says such hits are intended to reduce Ukraine's ability to fight. Kyiv says the air strikes have no military purpose and aim to harm and intimidate civilians, a war crime.
The missiles killed villagers in the western Lviv region, and closer to the frontline in the central Dnipro region, while Russian artillery also killed at least three people in the northeastern city of Kharkiv, Ukrainian officials said.
Ukrainian military analyst Oleh Zhdanov said the failure of Russian intelligence to identify military targets had led to a "Plan B - demoralising the population".