In a late-night television address, Mr Zelensky said the hundreds of thousands of people still in combat zones in the larger Donbas region, which contains Donetsk as well as the neighboring Luhansk region, needed to leave.
"The more people leave the Donetsk region now, the fewer people the Russian army will have time to kill," he said, adding that residents who left would be given compensation.
Mr Zelensky said hundreds of thousands of people were still living in areas of Donbas where fighting was fierce.
“Many refuse to leave but it still needs to be done,” the president said. “If you have the opportunity, please talk to those who still remain in the combat zones in Donbas. Please convince them that it is necessary to leave.”
Separately, domestic Ukrainian media outlets quoted Deputy Prime Minister Iryna Vereshchuk as saying the evacuation needed to take place before winter begins since the region’s natural gas supplies had been destroyed.
It comes as British defence chiefs warned that Russia fired at least 20 missiles into northern Ukraine from Belarusian territory on July 28.
In its latest intelligence update, the Ministry of Defence (MoD) added: “Belarusian President Aleksandr Lukashenko continues to follow Moscow’s line on the Ukraine conflict, stating on 21 July Ukraine must accept Russia’s demands for the war to stop.
“His regime has become ever more authoritarian, with the expansion of the death penalty for ‘preparing terrorist acts’. His increasing and baseless accusations of Western designs on Belarus and Ukraine likely indicate he has become almost wholly dependent on Russia.”
Latest Defence Intelligence update on the situation in Ukraine - 31 July 2022
Find out more about the UK government's response: https://t.co/l2m2OqODU7
🇺🇦 #StandWithUkraine 🇺🇦 pic.twitter.com/C3qIlLHgga
— Ministry of Defence 🇬🇧 (@DefenceHQ) July 31, 2022
It is not the first time Ukrainian authorities have called for civilians to evacuate areas they control in Donetsk.
John Herbst, a former US ambassador to Ukraine, said it could be due to expectations of heavier fighting rather than fuel shortages.
"I don’t know why Zelensky issued the call," he said. "What I do know is that there has been fierce fighting in Donetsk. The Russians took (neighbouring) Luhansk (oblast) several weeks ago. I expect further fierce fighting in Donetsk."
It comes after Ukraine accused Russia of committing a war crime after more than 50 prisoners of war were killed in a bomb blast.
The captured soldiers were killed when their prison camp in Olenivka, controlled by the Moscow-backed separatist Donetsk People’s Republic, was destroyed on Friday.
The camp was close to the front line and Russia claims it was hit by a US-made Ukrainian missile.
But Kyiv called it a "deliberate Russian war crime" and demanded the UN and Red Cross be allowed to investigate.