Lviv Mayor Andriy Sadovyi said Russian forces had destroyed an aircraft repair plant -- which sits near the Polish border.
Ambulance and police vehicles raced to the scene, while motorists were turned away at checkpoints. A thick pall of smoke was seen billowing over the airport.
"Several missiles hit an aircraft repair plant," the mayor said on the messaging app Telegram, adding that the plant had been destroyed.
Located 70 kilometres (45 miles) from the border, Lviv had until now largely escaped military strikes from Russian forces.
Before dawn broke on Friday, air raid alarms had rung in cities across the country.
Several cities from Sumy in the north to Mariupol in the south are virtually under siege -- cut off from supplies and facing near-constant attack.
In his latest night-time video message, Ukrainian President Volodymyr Zelensky admitted the situation in several Ukrainian cities was "difficult."
But, he said, "we will not leave you behind and we will not forgive them. You will be free.