Ukrainian President Volodymyr Zelensky has vowed to host the Eurovision Song Contest in the embattled city of Mariupol.

The city is almost entirely in Russian hands, aside from a few hundred Ukrainian fighters who are continuing to hold out in a steel factory.

Ukraine’s entry won the competition last night, with Kalush Orchestra performing the song Stefania.

This has become a popular anthem among Ukrainians during the war.

“Our courage impresses the world, our music conquers Europe,” Mr Zelensky said on Facebook. “Next year, Ukraine will host Eurovision.”

The band made an impassioned plea during the show to help the fighters still in the Azovstal steel plant in the port city, and Mr Zelensky said “one day” the contest will be held “in a Ukrainian Mariupol”.

This comes as Russian troops have begun retreating from Kharkiv, the country’s second largest city. The city faced weeks of bombarding, with Russian forces now continuing to battle for the country's eastern industrial heartland.

Ukraine’s military said the Russian forces are now pulling back from the north-eastern city to focus on guarding supply routes, while launching mortar, artillery and air strikes in the eastern region of Donetsk in an attempt to “deplete Ukrainian forces and destroy fortifications”.

Defence minister Oleksii Reznikov said Ukraine is “entering a new – long-term – phase of the war”.