Updated 1.15pm

Ukrainian President Volodymyr Zelensky promised victory against Russia on the second anniversary of the invasion on Saturday as his troops fight on despite a lack of Western aid and recent Russian gains.

"We will win," he said at a ceremony at Kyiv's Gostomel airport, which was targeted by Russia in the first days of the all-out assault in 2022.

He spoke alongside the Canadian, Italian and Belgian prime ministers and EU Commission chief Ursula von der Leyen who came to Kyiv to mark the date.

When Russian President Vladimir Putin announced a "special military operation" at dawn on February 24, 2022, many expected victory within days, but Ukraine fought back, forcing Russian troops into humiliating retreats.

Since then, however, Ukraine has suffered setbacks with the failure of its 2023 counteroffensive.

The Russian army has built up a position of strength by boosting its defence industry, while Ukraine's troops are short of manpower and running low on Western-supplied ammunition for artillery and air defences.

NATO chief Jens Stoltenberg urged Ukraine and its allies not to "lose heart" and von der Leyen praised Ukraine's "extraordinary resistance" as she arrived in the Ukrainian capital.

Ukraine's military chief Oleksandr Syrsky said he was confident of victory "because light always conquers darkness".

'War is our life'

But the overall picture remains bleak for Ukraine due to the US Congress blocking a vital $60 billion aid package, on top of delays in promised European deliveries.

Russia is attacking hard in the east after capturing the heavily fortified town of Avdiivka on February 17.

In the east Ukraine city of Pokrovsk -— a gathering point for civilians fleeing fighting —- troops sent a clear message to the foreign leaders gathered in Kyiv.

"Give us artillery, drones, counter-battery, shells," said a 31-year-old Ukrainian soldier, who identified himself as Woodie.

"Our infantry, armed with assault rifles and grenades, were facing artillery, aircraft, and tanks," added a 39-year-old serviceman from Kyiv, who has been fighting for two years.

Zelensky stands by the entrance to the Potocki Palace in Lviv. Photo: AFPZelensky stands by the entrance to the Potocki Palace in Lviv. Photo: AFP

Russia has kept up its barrage of devastating drone and missile attacks on Ukraine's cities.

In the latest strikes, Ukrainian authorities said three civilians were killed in Dnipro and Odesa in the night between Friday and Saturday.

In Kyiv, the mood was grim.

"For women of Ukraine, this is our heartache -- for our husbands, for our children, for our fathers," said nutritionist Olga Byrko in Kyiv. 

"I would really like this to end as quickly as possible."

Yuriy Pasichnyk, a 38-year-old businessman, told AFP Ukrainians "have learned to live with it... now the war is our life".

Kyiv mayor Vitali Klitschko said air raid sirens had sounded 989 times in the capital over two years of war -- an average of more than once a day.

He said that "almost 200 civilians" had been killed in the capital over that time, including six children.

Ukraine estimates the total number of civilians killed at around 50,000.

'Advantage is on our side'

Neither side has given numbers for military deaths and injured, while both claim to have inflicted huge losses.

In August 2023, The New York Times quoted US officials as putting Ukraine's military losses at 70,000 dead and 100,000 to 120,000 injured.

Leaked US intelligence in December indicated that 315,000 Russian troops had been killed or wounded.

Russian Defence Minister Sergei Shoigu visited Moscow's forces in occupied Ukraine, the army said on Saturday, telling them "in terms of the ratio of forces, the advantage is on our side". 

Moscow has massively ramped up its arms production and received drones from Iran, while Kyiv says it has confirmed Russia's use of North Korean missiles.

Russia vows 'revenge' 

The conflict has thrown Russia into even greater isolation from the West, with the United States and its allies imposing a slew of sanctions.

US President Joe Biden announced yet more sanctions against Russia Friday to stop Putin's "war machine".

Former Russian president Dmitry Medvedev on Saturday vowed Moscow would "take revenge". The Kremlin has used the war to rally patriotism and mount an even harsher crackdown on dissent.

Several people were detained on Saturday at a protest in Moscow by wives of mobilised soldiers fighting in Ukraine asking for their loved ones to come home, according to independent media.

But on the streets of Moscow, most people told AFP they backed the war.

"I'm proud of our men," said 27-year-old Nadezhda, an environmental engineer.

"Of course I am anxious for them, but it's a pleasant feeling that they are doing great, they are out there fighting for our country." 

One of the few to give an alternative opinion was Konstantin, a drama teacher, who said: "I'm against any war. Two years have passed and it annoys me that people can't talk to each other and are still at war."

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.