Ukrainian President Volodymyr Zelensky on Saturday called for meaningful peace and security talks "without delay" with Moscow.
He said it was Russia's only chance to limit the damage from its "mistakes" in the wake of its invasion.
"This is the only chance for Russia to reduce the damage from its own mistakes," Zelensky said in his nightly video address.
"It's time to meet, it's time to talk, it's time to restore territorial integrity and justice for Ukraine.
"Otherwise, Russia's losses will be such that you will need several generations to recover."
His speech came as Russian president Putin had earlier spoken to tens of thousands of Russians at an event celebrating eight years since the annexation of Crimea.
Meanwhile, Zelensky has said that Russian forces are blockading Ukraine’s largest cities to create a “humanitarian catastrophe” with the aim of persuading Ukrainians to cooperate with them.
He added that the Russians are preventing supplies from reaching surrounded cities in the center and southeast of the country.
“This is a totally deliberate tactic,” Zelenskyy said in his nighttime video address to the nation, filmed outside in Kyiv, with the presidential office in the lamplight behind him.
He said more than 9,000 people were able to leave besieged Mariupol in the past day, and in all more than 180,000 people have been able to flee to safety through humanitarian corridors.
He again appealed to Russian President Vladimir Putin to hold talks with him directly. “It’s time to meet, time to speak,” he said. “I want to be heard by everyone, especially in Moscow.”
He noted that the 200,000 people Putin gathered in and around a Moscow stadium on Friday for a flag-waving rally was about the same number of Russian troops sent into Ukraine three weeks ago.
Zelenskyy then asked his audience to picture the stadium filled with the thousands of Russians who have been killed, wounded or maimed in the fighting.