Among those killed and wounded were emergency medical teams.
Ukrainian officials said the first Russian missile hit homes and civilian infrastructure, and when emergency teams rushed to the scene another missile struck the same spot.
Russia has not commented on the attack.
Ukrainian President Volodymyr Zelensky condemned the attack as "vile" and said Russia would "feel our fair response".
A military spokesman said the missiles were fired from the Crimea region, which Russia annexed in 2014.
Odesa's regional head Oleh Kiper said a medic and a rescuer were among those killed when the second missile struck.
Odesa is an important port on the Black Sea, although it is not clear what Russia was aiming at. Saturday has been declared a day of mourning.
The bombardments struck residential buildings, cars and a gas pipeline, according to local authorities quoted by AFP news agency.
"Russia continues to terrorise Odesa... local residents, medical and emergency workers are among the victims and injured," Andriy Kostin, Ukraine's prosecutor general, the Reuters news agency reported.
It is not the first attack launched on the city in recent weeks with explosions rocking Odesa while President Zelensky met the Greek Prime Minister Kyriakos Mitsotakis there earlier this month.
The latest attack comes on the first day of presidential elections being held, with Vladimir Putin all but certain to win a further term.
bbc