He flew into Canada’s capital late on Thursday after meetings with President Joe Biden and lawmakers in Washington and having addressed the United Nations’ annual meeting on Wednesday as part of his bid to shore up the alliance against Russia.
During his address to parliament, he said: “Moscow must lose once and for all. And it will lose”.
Mr Zelensky said Canada has always been on the “bright side of history” in fighting previous wars and said it has helped save thousands of lives in this war with aid.
He also thanked Canadians for financial support and for making Ukrainians fleeing war feel at home in Canada.
Mr Zelensky linked the suffering of Ukrainians now to the 1930s genocide caused by Stalin, when the Soviet leader was blamed for creating a man-made famine in Ukraine believed to have killed more than 3 million people.
He noted that in 1993 it wasin Edmonton where the first monument was erected to commemorate that genocide and expressed hope a monument would one day be raised in Canada to Ukraine’s victory over Russia’s invasion, “maybe in Edmonton.”
“I have a lot of warm words and thanks from Ukraine to you,” Mr Zelensky said in Prime Minister Justin Trudeau’s office before his speech.
“You have helped us on the battlefield, financially and with humanitarian aid. ... Stay with us to our victory.”
Mr Trudeau called the visit an opportunity to show Mr Zelensky “how strongly and unequivocally we stand with Ukraine” and announced an additional $650 million (£393 million) over three years for 50 armored vehicles to be built in Canada.
“I have made it clear that our government will stand with you for as long as it takes,” Trudeau said in his speech.
Mr Zelensky is facing questions in Washington about the flow of American dollars that for 19 months has helped keep his troops in the fight against Russian forces.
A hard-right flank of Republicans, led by Donald Trump, Biden’s chief rival in the 2024 race for the White House, is increasingly opposed to sending more money overseas.
He also faces challenges in Europe as well as cracks in what had been a largely united Western alliance behind Ukraine.
Late Wednesday, Poland’s prime minister said his country is no longer sending arms to Ukraine, a comment that appeared aimed at pressuring Kyiv and put Poland’s status as a major source of military equipment in doubt as a trade dispute between the neighboring states escalates.
Ukrainian troops are struggling to take back territory Russia gained over the past year.
Their progress in the next month or so before the rains come and the ground turns to mud could be critical in rousing additional global support over the winter.