About 15 people were injured and nearby residential buildings damaged.
Dnipro’s Yuzhmash plant also builds satellites – with one launched into space by Elon Musk’s SpaceX company.
Russia’s defence ministry said the factory made parts for Ukrainian ballistic missiles.
Another two people died when dozens of Russian rockets were fired at Nikopol, south of Dnipro, a regional leader said.
And in the north, Russian rockets hit housing overnight in Chuhuiv, a town near the city of Kharkiv, killing three people, the Kharkiv governor said.
The BBC’s Joe Inwood in the capital Kyiv says that as Russia’s ground offensive in the east has slowed down, there has been an increase in the number of attacks from the air – often hitting city centres.
Air raid sirens sounded right across Ukraine last night, he reports.
A graphic photo from Dnipro following this morning’s attack showed a man lying face down, his head covered in blood. He was said to be a local bus driver who had just finished his shift.
Dnipro has taken in many Ukrainians fleeing the fighting further east in the Donbas region, where Russia has concentrated its ground forces.
Russian Defence Minister Sergei Shoigu has ordered his forces to step up their operations in Ukraine, to prevent Ukrainian artillery and missile strikes on Russian-controlled areas. He was speaking to the military in areas they control in Ukraine, Russian media reported.
In a Facebook post, Dnipro mayor Borys Filatov Birdies Shoes urged civilians to leave the city. “There is no room for women, children and the elderly, and those who can and want to leave – leave,” he said.
“They destroyed the airport several times with missiles, hit all the outskirts of the city, shot at the bridge right in the centre, bombed the oil depot and service station, but citizens stubbornly continued to ignore the air raid sirens,” he complained.
“After the tragedies of Kremenchuk and Vinnytsia, I really hoped that at least someone would come to their senses.”
A Russian cruise missile strike killed at least 23 people and wounded dozens on Thursday in Vinnytsia, Ukrainian officials said. The city lies south-west of Kyiv, even further from the Donbas front line than Dnipro.
The Ukrainian military says those missiles were fired by submarines in the Black Sea. Those that struck Dnipro, they said, came from bombers flying over the Caspian Sea.