The Ukrainian army said it shot down 10 drones on Saturday but another five had hit energy facilities, leaving some 1.5 million people without power.
Later on, the exiled Ukrainian mayor of Melitopol said a strike had been carried out on the Russian-held city.
Images shared by a Russian-installed official there show a big fire.
Russia’s drone attack on the Ukrainian port city of Odesa saw Moscow fire Iranian-made drones at key infrastructure, Ukrainian officials said.
“The situation in the Odesa region is very difficult,” President Volodymyr Zelensky said in his nightly video address. “Unfortunately the hits were critical, so it takes more than just time to restore electricity. It doesn’t take hours, but a few days.”
Since October, Moscow has been targeting Ukraine’s energy infrastructure with large waves of missile and drone strikes.
In Melitopol, pro-Moscow authorities said a missile attack had killed two people and injured 10, while Ivan Fedorov, the exiled mayor, said scores of “invaders” had been killed.
“Air defence systems destroyed two missiles, four reached their targets,” Yevgeny Balitsky, the Moscow-appointed governor of the occupied part of the Zaporizhzhia region, said on the Telegram messaging app.
He added that a “recreation centre” where people were dining had been destroyed in the Ukrainian attack with Himars missiles.