<img src="https://sb.scorecardresearch.com/p?c1=2&amp;c2=6035250&amp;cv=2.0&amp;cj=1&amp;cs_ucfr=0&amp;comscorekw=Ukraine%2CRussia%2CVolodymyr+Zelenskiy%2CVladimir+Putin%2CEurope%2CWorld+news%2CNato"> Skip to main contentSkip to navigationSkip to navigation

100 days of war in Ukraine: how the conflict has developed

This article is more than 1 year old

Friday marks the 100th day of Vladimir Putin’s war in Ukraine. This is how the Russian president’s ‘special military operation’ evolved into a bloody war of attrition

WARNING: this piece contains distressing and violent imagery

After months of buildup and numerous denials that any invasion was planned, Vladimir Putin announced on 24 February that he had launched a “special military operation” to “demilitarise and denazify” Ukraine.

Western analysts expected a quick “shock and awe” invasion, and it seems there were indeed attempts by Russia to directly target the Ukrainian president, Volodomyr Zelenskiy, probably in order to replace his government with one more pliable to Moscow’s will.

But if Putin expected a quick, easy war with little Ukrainian or international opposition – like his invasion of Crimea in 2014 – he has been disappointed. The war has resulted in sanctions against Russia, Nato membership applications from Sweden and Finland, and rising fuel and food prices in countries thousands of miles from the conflict zone. This is how it has developed in Ukraine.

Phase one Invasion
Day one24 Feb
79,209 refugees

The war begins with missile strikes across the whole territory of Ukraine. Land incursions come from Senkivka, toward Kyiv, and from Crimea toward Kherson. An amphibious landing from theAzov Sea launches the bitterly contested attempt to take Mariupol. In Kyiv, Russian paratroopers make two attempts to storm the presidential compound to assassinate Volodymyr Zelenskiy.

Day two25 Feb
179,525 refugees

From central Kyiv to a rocky island in the Black Sea, Ukrainian defiance is steelier than Putin had imagined. President Zelenskiy posts a self-shot video showing that he remains in the capital, and has not accepted a US offer to evacuate. Meanwhile a small group of soldiers on Snake Island responds to a Russian order to surrender with the soon totemic response: "Russian warship, go fuck yourself."

Day four28 Feb
652,445 refugees

The earliest hours of the war had presaged doom for Ukraine as a squadron of Russian helicopters appeared to have taken control of Hostomel airport outside Kyiv, which would have allowed Russia to bring troops and materiel to the outskirts of the city. In fact, the operation was fiercely contested, and by day four the airport has become the front line.

Day six2 Mar
989,560 refugees

Nearly a week into the war, Russian forces manage to surround Mariupol, a strategically important port city and export hub. On the same day Russian troops assume control of the city of Kherson, giving them almost complete control of a "land bridge" between Crimea, annexed by Russia in 2014, and Donetsk, occupied by pro-Russian forces.

Phase two Bogged down
Day 106 Mar
1,742,688 refugees

By day 10, the main road bridge across the river Irpin, and a Soviet-era dam on the river has been destroyed, flooding a wide area to the west of Kyiv. Thousands of refugees flee across the ruins of the bridge on foot, but Russian forces are finding it increasingly hard to advance in the opposite direction.

Day 1511 Mar
2,550,041 refugees

Two weeks into the war, the Pentagon reports that a 40-mile column of Russian forces to the north-west of Kyiv has "moved into firing positions". But the column is facing intense resistance from Ukrainian forces. The same day, footage emerges of a drone attack on Russian armoured vehicles near Brovary on Kyiv's eastern side.

Day 2016 Mar
3,108,406 refugees

With Mariupol still surrounded but presenting strong resistance, a Russian airstrike hits the city's main theatre, where hundreds of civilians are taking refuge.

Day 2622 Mar
3,524,562 refugees

Ukraine says Russian forces have only three days' worth of supplies remaining, as evidence mounts that the 40-mile column has definitively stalled.

Phase three Retreat and reorientation
Day 3329 Mar
3,929,721 refugees

Russia announces during talks with Ukraine in Turkey that it will "radically reduce military activity" near Kyiv and Chernihiv. In fact, shelling continues, as Russia covers the beginning of its retreat from the north. In short order Russia abandons these fronts and redeploys some of the units to the eastern theatre. Ukrainian forces entering Bucha find abundant evidence of atrocities.

Day 5014 Apr
4,777,081 refugees

Ukrainian forces sink Russia's Black Sea flagship, the Moskva. Russia initially tries to claim the sinking was due to a fire and choppy seas while it was being towed to port at Sevastopol in Crimea. Ukraine says it has hit the Moskva with a Neptune anti-ship missile. It is an important symbolic victory, but the Russian naval blockade of Ukraine continues

Day 5418 Apr
4,959,759 refugees

After nearly three weeks of relative calm, during which the Russian army regrouped and repositioned, the Ukrainian government announces that a new offensive has begun in the east. Its initial strategic aim seems to be to encircle the major Ukrainian deployments on the frontline with pro-Russian separatist regions. Fierce fighting at Izyum and on the old frontline near Donetsk becomes a daily feature.

Day 5721 Apr
5,112,058 refugees

Vladimir Putin issues a public order that the Azovstal steelworks in Mariupol is to be sealed off "so that even a fly cannot get out", but not stormed. The compound is the last redoubt of Mariupol's Ukrainian defenders and of an unknown number of civilians. In practice, attacks continue.

Day 759 May
5,933,189 refugees

After weeks of speculation that he would use a speech at a military parade in Moscow to claim a victory in Mariupol or elsewhere, Vladimir Putin lets the occasion pass. Defenders are still holed up in the Azovstal plant, and the eastern front is making slow progress. A military flypast is cancelled "because of bad weather".

Phase four After Mariupol
Day 7913 May
6,094,809 refugees

Weaknesses begin to show in Russia's Donbas offensive. A plan to encircle Ukrainian forces using a pontoon bridge to cross the Siverskyi Donets river southeast of Izyum is foiled by Ukrainian defences, leading to substantial Russian losses. Meanwhile Russian forces have reportedly been forced back from the outskirts of Kharkiv, Ukraine's second-largest city, under heavy bombardment since the beginning of the war.

Day 8217 May
6,276,834 refugees

The Azovstal defenders in Mariupol finally surrender, and are loaded on to buses by Russian forces. Ukraine says they will return as part of prisoner swaps, but some Russian officials intimate they may be put on trial.

Day 981 June
6,276,834 refugees

As the war's 100th day approaches, Ukrainian forces are under pressure in the east. Russia has identified Sievierodonetsk as its next strategic target and is battling to encircle the city; it is not clear how long the Ukrainian side can maintain contact.

Notes and credits

The coloured areas show assessed areas of Russian control on the day indicated, as collated by the Institute for the Study of War and AEI’s Critical Threats Project. On a given day Russian troops may have made temporary advances or claimed to control other areas; for simplicity these are not shown. Video sources: Ukrainian presidential office, Ukrainian Interior Ministry, Azov, TPYXA, Ukrainian 58 separate motorised infantry brigade, and agencies.

Most viewed

Most viewed