Air raid sirens sounded across the Mykolaiv region, which borders the vital exporting port of Odesa, before the blasts.
"There are powerful explosions in the city! Stay in shelters!" Mykolaiv mayor Oleksandr Senkevich wrote on the Telegram messaging app.
It was not immediately known what caused the explosions. Reuters could not independently verify the report.
Explosions flattened part of an apartment building while residents slept on Friday, the latest in a series of what Ukraine says are Russian missile attacks aimed at civilians.
In his nightly video address on Friday, Ukrainian President Volodymyr Zelenskiy denounced the strikes as "conscious, deliberately targeted Russian terror and not some sort of error or a coincidental missile strike."
Kyiv says Moscow has intensified its long-range missile attacks, hitting civilian targets far from the frontline. Russia says it has been aiming at military sites. Kremlin spokesperson Dmitry Peskov cited President Vladimir Putin's statements "that the Russian Armed Forces do not work with civilian targets".
SIFTING THROUGH RUBBLE
A Russian missile earlier this week struck a crowded shopping mall in central Ukraine, killing at least 19 people.
Thousands of civilians have been killed since Russia invaded Ukraine on Feb. 24 in what Moscow calls a "special operation" to root out nationalists. Ukraine and its Western allies say it is an unprovoked war of aggression.
Residents in the resort village of Serhiivka helped workers pick through the rubble of the nine-storey apartment block, a section of which had been destroyed in Friday's early-morning strike.
Walls and windows of a neighbouring 14-storey apartment block were damaged by the blast wave. Nearby holiday camps were also hit.
"We came here to the site, assessed the situation together with emergency workers and locals, and together helped those who survived. And those who unfortunately died. We helped to carry them away," said Oleksandr Abramov, who lives nearby and had rushed to the scene when he heard the blast.
Serhiy Bratchuk, spokesman for the Odesa regional administration, said 21 people had been confirmed killed, including a 12-year-old boy. Among the fatalities was an employee of the Children's Rehabilitation Center set up by Ukraine's neighbour Moldova in the resort.
The strike on Serhiivka took place shortly after Russia pulled its troops off Snake Island, a strategically important outcrop about 140 km (85 miles) southeast of Odesa that it seized on the war's first day.
The chief of Ukraine's General Staff, Valeriy Zaluzhny, accused Russia of failing to abide by its assertions that it had left Snake Island as a "gesture of good will". On his Telegram channel, Zaluzhny said two Russian warplanes had taken off from a base in Crimea and bombed targets on the island on Friday evening.
He posted a video of what he said was the attack. Reuters could not confirm the authenticity of the video or the Russian action depicted. There was no immediate Russian comment.
Russian forces had used Snake Island to control the northwestern Black Sea and impose a blockade on Ukraine, one of the world's biggest grain exporters.
Moscow denies it is to blame for a food crisis, which it says is caused by Western sanctions hurting its own exports.
Putin met the president of Indonesia on Thursday and spoke by phone on Friday to the prime minister of India, promising both major food importers that Russia would remain a big supplier of grain.
Ukraine has accused Russia of stealing grain from the territories that Russian forces have seized since its invasion.
The Kremlin has denied stealing grain and did not reply to requests for comment on Friday.
NO GAS, ELECTRICITY, WATER
Russia's stepped up campaign of missile attacks on Ukrainian cities coincides with its forces grinding out success on the battlefield in the east, with the aim of forcing Ukraine to cede Luhansk and Donetsk provinces.
Moscow has been on the verge of capturing Luhansk since taking the city of Sievierodonetsk last week after some of the heaviest fighting of the war.
Ukraine's last bastion in Luhansk is Sievierodonetsk's sister city, Lysychansk, across the Siverskyi Donets river, which is close to being encircled under Russian artillery barrages.
In Russian-occupied Sievierodonetsk, residents emerged from basements to sift through the rubble of their city.
"Almost all the city infrastructure is destroyed. We are living without gas, electricity and water since May," Sergei Oleinik, 65, told Reuters.
More weapons were needed in eastern and southern Ukraine, Zelenskiy said, as the Pentagon announced the United States was sending two NASAMS surface-to-air missile systems, four additional counter-artillery radars and ammunition as part of its latest arms package.
(Reporting by Reuters bureaux; Writing by Lincoln Feast; Editing by William Mallard)
By Iryna Nazarchuk