The attack came despite Russia agreeing to a 12-hour pause in hostilities to allow refugees to evacuate a number of towns and cities.
Mariupol city council posted a video of the devastated hospital in the city and accused Russian forces of dropping several bombs on it from the air.
“The destruction is enormous,” said the council. “The building of the medical facility where the children were treated recently is completely destroyed.”
Police in the Donetsk region said that according to preliminary information at least 17 people were injured, including mothers and staff, as a result of the attack.
Zelensky repeated his call for the NATO military alliance to declare a no-fly zone over Ukraine, as he expressed his outrage at the attack.
“Close the sky right now! Stop the killings! You have power but you seem to be losing humanity,” he said on Telegram.
“Direct strike of Russian troops at the maternity hospital,” Zelensky said, adding, “People, children are under the wreckage. Atrocity! How much longer will the world be an accomplice ignoring terror?”
Later Wednesday, Zelensky called the strike “final proof, proof of a genocide of Ukrainians taking place.”
Russian Foreign Ministry spokeswoman Maria Zakharova claimed, without providing evidence, that Ukrainian forces had “equipped combat positions” within the hospital. Video from the hospital after the bombing clearly showed there were both patients and staff there, including heavily pregnant women who were carried from the hospital.
The hospital attack received international condemnation, with the United Nations saying it would follow up “urgently” on the “shocking reports,” and that healthcare facilities hospitals and health care workers should not “ever, ever be a target.”
A city administration building and a university in Mariupol, less than a kilometer from the bombed-out hospital, has been identified by CNN as a second location in the city hit by an apparent Russian military strike.
Images on social media show significant destruction at the University and City Council Building.
The strategic port city of Mariupol on Ukraine’s southeast coast has been under siege for days and has been “isolated” by Russian forces, a senior US defense official said Tuesday.
Russia continues to bombard Mariupol and its troops are not inside the city “in any significant way,” added the official. Two officials said Wednesday that about 1,300 civilians there have been killed since the Russian invasion began.
Residents have been cut off from water and electricity for days, and on Tuesday Ukrainian Foreign Minister Dmytro Kuleba accused Russia of committing war crimes by holding 300,000 civilians “hostage.”
“The situation in Mariupol is desperate,” Mirella Hodeib, spokesperson for the International Committee of the Red Cross (ICRC), told CNN on Monday.
On Wednesday, Ukraine’s Deputy Prime Minister Iryna Vereshchuk said both sides had agreed to a ceasefire and planned evacuation corridors from a number of cities in order to allow people to leave.
The attempted evacuation corridors were scheduled to operate from 9 a.m. to 9 p.m local time, with routes including Energodar to Zaporizhia; Mariupol to Zaporizhia; Volnovakha to Pokrovsk; Izium to Lozova; and four separate routes from Vorzel, Bucha, Irpin, Borodyanka, and Gostomel to the capital city of Kyiv.
A corridor also operated between Sumy and Poltava, a route that enabled about 5,000 Ukrainians to evacuate on Tuesday, according to Ukrainian Presidential Office Deputy Kirill Timoshenko.
But several hours after the evacuation was due to begin, there was no sign of people being brought out of Vorzel, Borodyanka, Hostomel, Irpin and Bucha in the bus convoys that had been organized.
The city council of Bucha accused Russian forces of blocking the evacuation in a statement on Facebook.
“The occupants are disrupting the evacuation. Currently, 50 buses are blocked by Russian military in the parking lot,” the post read.
An attempted evacuation from Demidova, a town north of Kyiv that was not among the agreed corridors, ran into trouble. One police officer was killed and two more people seriously injured during an attempted evacuation of civilians, according to regional authorities.
In the east, it was impossible to evacuate civilians from the town of Izium “as we constantly hear explosions,” said Oleh Syniehubov, administrative head of Kharkiv region.
However, greater progress appeared to be made in organizing buses to get people out of the central city of Enerhodar, as well as Irpin and Vorzel.
“The evacuation from the city continues,” wrote Оleksandr Markushyn, mayor of Irpin, on Facebook. “There are buses in the center of Irpin. We are evacuating as many people as possible.”
In Vorzel, all of the children that had been stranded in an orphanage have been evacuated, as has the local maternity hospital, according to Kyrylo Tymoshenko, an adviser in the president’s office.
At least 2 million refugees have fled Ukraine since the beginning of the invasion, the UN estimates. But millions more remain trapped in towns and cities that have come under sustained attacks by Russian forces in recent days.
And on Tuesday Ukrainian Minister of Defense Oleksii Reznikov claimed more than 400 civilians have been killed, including 38 children, with the real death toll expected to be higher.
Reznikov accused Russia of “a real act of genocide” and “war crimes,” claiming that Russian forces had fired on the evacuation corridors.
The city of Kharkiv in northeastern Ukraine is encircled by Russian forces and continues to suffer heavy shelling, the UK Ministry of Defence tweeted Wednesday.
On Tuesday, Kharkiv Mayor Igot Terekhov told CNN the situation was “difficult” and there was “constant shelling from heavy artillery” on residential neighborhoods and civilian infrastructure.
“They’re hitting our water and heating and gas supply,” said Terekhov. “They’re trying to interrupt our power supplies.”
Kharkiv is home to 1.5 million people, said Terekhov, adding that utility services were working to keep people warm as cold weather approaches.
Terekhov said he regards indiscriminate shelling as “an act of genocide.” He added that any aid or assistance would be gratefully received, and expressed hope about the ultimate outcome.
“I am absolutely confident that we will defeat the Russians,” he added.
Zelensky calls for action to prevent ‘catastrophe’
Russian forces also continue to bear down on the Ukrainian capital Kyiv, and on Tuesday the head of the Kyiv Regional Military Administration, Oleksiy Kuleba, said the humanitarian situation in areas around the city remains difficult.
“The main issue today remains humanitarian aid. Bucha, Irpin, Gostomel, Makariv, Borodyanka, Vorzel - residents of these settlements are forced to stay in bomb shelters for days without water and food. The occupiers do not give humanitarian corridors, do not give guarantees,” Kuleba said, naming five districts to the north and west of Kyiv.
On Wednesday, these five districts were named among evacuation corridors agreed by Ukraine and Russia.
Also on Wednesday, Zelensky repeated his call for military intervention from Western allies.
“Ukraine has been saying this to its partners from the first day of the war: If you don’t close the skies, you will also be responsible for this catastrophe, a massive humanitarian catastrophe,” he said.
The Ukrainian government has meanwhile announced that it will ban exports on key agricultural goods, including wheat, corn, grains, salt, and meat, after passing a cabinet resolution Tuesday.
Ukraine’s minister of agrarian policy and food, Roman Leshchenko, said the steps had been taken “to prevent a humanitarian crisis in Ukraine” and “meet the needs of the population in critical food products.”
CNN’s Michael Conte, Josh Campbell, Hannah Ritchie, Julia Kesa, Kevin Liptak, Anastasia Graham-Yooll, Sarah Dean and Rob Picheta contributed to this report.