In a defiant speech on Saturday, he said: "Freedom comes at a high price. But slavery has an even higher price."
Russia's missile and drone attacks have left millions of Ukrainians without power, heating and running water.
Earlier on Saturday, Russian air strikes killed 10 people in Ukraine's southern Kherson city, officials said.
The regional authorities said another 68 people were injured and called on local residents to urgently donate blood.
Describing Russia as a "terrorist country", Mr Zelensky accused Russian troops of "killing for the sake of intimidation and pleasure".
In a post on social media, he showed pictures of streets strewn with bodies and burning cars, saying "the world must see and understand what absolute evil we are fighting against".
Kherson, the only regional capital captured by Russia since it launched its full-scale invasion on 24 February, was liberated by Ukraine last month.
Since then it has been frequently targeted by Russian forces positioned on the left (eastern) bank of the Dnipro river.
Moscow has repeatedly denied targeting civilians in its attacks. However, President Vladimir Putin has recently admitted that Russian troops have been hitting Ukraine's critical energy facilities.
Ukraine is alive and kicking, Zelensky tells US
Most Ukrainians are Orthodox Christians, and mark Christmas Eve - the main day of the festive season in the country - on 6 January.
However, a growing number of worshippers have been celebrating the day on 24 December, in line with the majority of Christians around the world.
In a video address to the nation late on Saturday, Mr Zelensky said: "We endured at the beginning of the war. We endured attacks, threats, nuclear blackmail, terror, missile strikes. Let's endure this winter because we know what we are fighting for.
"We will celebrate our holidays! As always. We will smile and be happy. As always. The difference is one. We will not wait for a miracle. After all, we create it ourselves."
For many Ukrainians, Christmas will be in the dark and in the cold, says the BBC's Hugo Bachega in Kyiv.
But Ukrainians say the hardships have only made them stronger, as the war enters its 11th month, our correspondent adds.
On Saturday, fierce fighting continued in Ukraine's eastern Donbas region where Russian troops attacked the strategic town of Bakhmut.