Russia says it has “liberated” the city, with just a few thousand Ukrainian soldiers left in the Azovstal plant complex, where thousands more civilians are also believed to have taken refuge.
But Zelenskyy said the battle was continuing, with Russia “doing everything to have a reason to talk about at least some victories.”
“They can only delay the inevitable — the time when the invaders will have to leave our territory, in particular Mariupol, a city that continues to resist Russia, despite everything the occupiers say,” he said in a video address.
The southern port city has been the target of relentless Russian attacks as Moscow tries to create a land bridge connecting annexed Crimea and the Russian-based separatist statelets in the Donbas region.
Ukrainian officials have appealed for an immediate humanitarian corridor to allow civilians and wounded fighters to leave the sprawling Azovstal steel plant.
“They have almost no food, water, essential medicine,” Ukraine’s foreign ministry said.
On Thursday, three school buses carrying evacuees arrived in the city of Zaporizhzhia after leaving Mariupol and crossing through Russian-held territory.
“I don’t want to hear any more bombing,” said Tatiana Dorash, 34, who arrived with her six-year-old son Maxim.
She said all they wanted now was a quiet night and “a bed to sleep in”.
Ukrainian officials had hoped to evacuate many more civilians, but accused Russian forces of targeting a route used by fleeing civilians.
“We apologise to the people of Mariupol who waited for evacuation today with no result,” Ukrainian Deputy Prime Minister Iryna Vereshuk said on Telegram.
“Shelling started near the collection point, which forced the corridor to close. Dear Mariupol residents… we will not give up trying to get you out of there! Hold on!”
Zelenksy said Russia had rejected a proposed truce over the Orthodox Christian Easter holiday this weekend.
And he accused Russia of laying the groundwork for a referendum to cement its control of areas in eastern Ukraine, urging locals to avoid giving personal data to Moscow’s forces.
“This is aimed to falsify the so-called referendum on your land, if an order comes from Moscow to stage such a show,” he warned.
In Moscow, President Vladimir Putin hailed the “liberation” of Mariupol as a “success” for Russian forces, and ordered a siege of the Azovstal plant.
“There is no need to climb into these catacombs and crawl underground through these industrial facilities. Block off this industrial area so that not even a fly can escape,” Putin said.
With Moscow intensifying its attacks in eastern Ukraine, the West is also stepping up military aid, including $800 million in new assistance from Washington announced Thursday by President Joe Biden.
The Pentagon said the package included howitzers, armoured vehicles to tow them, 144,000 rounds of ammunition, and tactical drones developed by the US Air Force specifically to address Ukraine’s needs.
“We’re in a critical window now… where they’re going to set the stage for the next phase of this war,” Biden said, pledging Putin would “never succeed in dominating and occupying all of Ukraine.”
“That will not happen,” he added.
Zelenskyy told leaders of the International Monetary Fund and World Bank on Thursday that his country now needs $7 billion a month to function, accusing Russia of “destroying all objects in Ukraine that can serve as an economic base for life.”
In a fresh show of support meanwhile, the Spanish and Danish prime ministers visited Kyiv, pledging more military assistance.
And Germany, under fire for not giving more to Zelenskyy’s government, said it had agreed with eastern European partners to indirectly supply Ukraine with heavy weapons by replacing stock given to Kyiv.
Efforts to isolate Moscow continued, with Biden announcing a ban on Russian-affiliated ships using American ports and the Organisation of American States suspending Russia as a permanent observer.
Moscow announced its new countermeasures, slapping travel bans on US Vice President Kamala Harris and dozens of other prominent Americans and Canadians.
Around the Ukrainian capital meanwhile, the grim task of exhuming and cataloguing bodies left behind after Russia’s withdrawal continued.
Spanish Prime Minister Pedro Sanchez, visiting Borodianka near the capital, said he was “shocked to witness the horror and atrocities of Putin’s war”.
Ukrainian officials say the bodies of more than 1,000 civilians have been retrieved from areas around the capital, and they are working with French investigators to document alleged war crimes.
“It’s all being investigated,” Oleksandr Pavliuk, head of the Kyiv regional military administration told reporters. “There is no final number of civilians killed.”
“The forensic experts are now examining the bodies, but what we saw was hands tied behind the back, their legs tied and shot through the limbs and in the back of the head,” he said.
And US private satellite imagery website Maxar released photos that it said showed a “mass grave” on the northwestern edge of Manhush, 20 kilometers (12 miles) west of Mariupol.
The violence has displaced more than 7.7 million people internally, with over five million fleeing to other countries, according to UN estimates, in Europe’s worst refugee crisis since World War II.
But returns have also accelerated in recent weeks, reaching over one million, according to a spokesman for Kyiv’s border force, despite the risk.
In the village of Moshchun, northwest of Kyiv, returnees must sign waivers acknowledging the risk of death or maiming by leftover munitions.
Olena Klymenko was willing to take the risk and return to the site of her destroyed home as de-mining efforts continued in the village.
“We found a booby trap in our garden. It seems it was disarmed. We don’t know,” she told AFP.
“Still, we need to look for our stuff.”