At least four people, including two women aged 21 and 95, have been killed after a Russian rocket hit an apartment building in Lviv, western Ukraine.
Another 34 people were injured in what the mayor of Lviv described as “one of the biggest attacks” on the city’s civilian infrastructure.
Lviv regional head Maksym Kozytskyi said more than 30 houses had been destroyed.
Russia’s military has not commented on the reported attack.
President Volodymyr Zelensky vowed a “tangible” response to the overnight assault by “Russian terrorists”.
Writing on Telegram, Mr Kozytskyi said: The youngest girl, who was killed by a rocket in her apartment tonight in Lviv, was only 21. Russia is killing our youth. Our future.
“The oldest person to die was 95. The woman survived World War Two, but unfortunately, she did not survive racism.”
Mr Kozytskyi said emergency services were still working to clear debris and rescue people who are feared to be trapped under rubble.
“There is a shelter next to the house that was hit by the missile,” he added.
“It is in good condition and was open at the time of the alarm. But, only five people were in the shelter from the entire building. Very disappointing.”
Dr Sasha Dovzhyk, who works at the Ukrainian Institute London but is currently in Lviv, described hiding in her bathroom when she heard the air raid siren.
“This is what we are supposed to do,” she told the BBC. “This is the Ukrainian routine.
“You are supposed to put two walls and preferably no windows, no glass, between yourself and the street, the outside.
“When the rocket, the missile, a Kalibr missile as we know now, hit the residential building 2km away, the walls in the bathroom where I was hiding shook, so the impact was quite strong.”
Ukraine’s air force accused Russia of launching the missiles from the Black Sea.
Posting on Telegram, the Armed Forces of Ukraine said “seven out of 10 Kalibr cruise missiles” were shot down, but said one rocket “changed course” to the west and hit Lviv.
The BBC has been unable to verify these claims.
For months, Russia has been carrying out deadly missile and drone attacks on Ukrainian cities, often hitting civilian targets and causing widespread blackouts.
Last week, 13 people were killed – including children – when a restaurant and shopping centre were struck in Kramatorsk, an eastern city close to Russian-occupied parts of Ukraine.
Although Lviv is in western Ukraine, relatively far from the front lines in southern and eastern Ukraine, it has also previously suffered Russian attacks.
Last month, Lviv officials reported that critical infrastructure had been hit in the city in a drone attack.