Liam Collins and John Spencer | 02.21.25
Authors’ note: Some details included in this case study were learned during interviews with Ukrainian soldiers and others directly involved in the Battle of Kyiv, including during five research trips to the country in 2022 and 2023. Those details are marked throughout the case study, attributed to interviews with soldiers (*), civilians (†), and senior military, police, political, and civil society leaders (‡).
The Battle of Kyiv occurred between February 24 and April 2, 2022, during the Russia-Ukraine War (February 2022–present). Kyiv is Ukraine’s capital and its largest city—with a prewar population of over three million—covering 839 square kilometers (324 square miles). Major urban areas along the capital’s periphery include the small cities of Brovary (population 110,000) to Kyiv’s east, and Irpin (70,000), Bucha (37,000), Hostomel (17,000), and the small village of Moshchun (794) to Kyiv’s northwest.
The Kyiv metropolitan area contains three large airports. Boryspil International Airport is located ten kilometers to the city’s east-southeast. Sikorsky International Airport is located within Kyiv and prior to the closure of Ukraine’s airspace due to the war was primarily used for domestic air travel. Antonov Airport—also called Hostomel Airport—is a former Soviet air base located ten kilometers northwest of the city. It has a 3,500-meter runway, typical of modern air bases, and is capable of handling large cargo planes.
The Dnipro River splits Kyiv into eastern and western sides. The dam at the Kyiv hydroelectric power plant just north of the city turns the river into a massive reservoir that stretches all the way to the Belarusian border. A robust network of natural and man-made waterways around Kyiv supports its agricultural industry. These rivers and the irrigation ditches that run perpendicular and parallel to them create significant obstacles for vehicular movement, especially during the spring rainy season, forcing vehicles to the roads and the bridges that cross the waterways. The Irpin River, just west of Kyiv, presents a significant obstacle to vehicular movement. Although only ten to twenty meters wide in many places, it is extremely difficult to ford but more easily crossed using pontoons.
Thus, high-speed routes into Kyiv from its western side are restricted to roads that cross the Irpin River. This includes, from the west, a four-lane bridge on highway E40 near the town of Stoyanka, and, moving clockwise around Kyiv, a two-lane bridge on the P30 road south of Irpin, a four-lane bridge on highway E373 between Bucha and the small village of Horenka, and a two-lane bridge on the P02 road south of the village of Demydiv. The last bridge is three kilometers upstream from where the Irpin River joins the Dnipro River at the Kozarovychi Dam. There are also two single-lane bridges over the river near the villages of Moshchun and Chervone that connect dirt trails on either side. These are the only vehicular bridges that cross the Irpin River on Kyiv’s western side. While Kyiv’s outskirts are dominated by agricultural land, there are some wooded areas interspersed in and around separate urban concentrations that further restrict vehicular movement to existing roads or trails. One of those areas is a large, dense forest surrounding the village of Moshchun to Kyiv’s northwest.
Kyiv’s eastern side lacks a natural obstacle like the Irpin River, so there are other ways to enter the city. Nonetheless, the number of high-speed routes is limited. Moving clockwise from the north of the city, they include highway P69 (which crosses the Dnipro River along the top of the dam at the hydroelectric plant), highway M01 which enters Kyiv near the suburb city of Brovary, and highway M03 which enters Kyiv near the suburb city of Shchaslyve.
The Battle
Russia’s strategic objective was to control the Ukrainian state. Russia’s military plan relied on four key assumptions. First, speed was critical to render any international response irrelevant. Second, Russia’s leadership believed the Ukrainian population was “largely politically apathetic,” distrusted its leaders, and viewed Russia favorably, so removing Ukraine’s leaders would allow pro-Russian Ukrainians to vocalize support for the invasion. Third, “controlling heating, electricity, and finance would be an effective” way to control the “apathetic majority of the Ukrainian population.” Fourth, the Russian military could defeat the Ukrainian military on the battlefield.
Russia believed that if it could reach the capital quickly enough, Ukrainian government officials would flee or be captured, and it could install a pro-Russian regime before civil resistance could be mobilized or the international community could react. To maintain operational surprise, the plan to invade Ukraine was not shared with operational commanders until days prior to the invasion and tactical units did not receive their orders until hours prior.
Russia’s tactical plan to seize Kyiv relied on speed. The plan called on airstrikes, electronic warfare, and cyberattacks to suppress or destroy Ukrainian air defenses, cripple the Ukrainian Air Force, and limit Ukrainian military command, control, and communication systems. Intelligence operatives, already in the capital, would use their networks to seize key government buildings and round up sitting government officials. Russian paratroopers would conduct an air assault operation into Hostomel Airport to establish an airbridge. Follow-on forces were to be transported to Hostomel by cargo planes and then quickly advance on the capital with the assistance of the previously inserted intelligence operatives. Within the battle’s first two to three days, Russia believed these forces would be able to arrest any remaining officials and install a pro-Russian regime. Concurrently, Russian mechanized forces would advance on the capital from both sides of the Dnipro River to dissuade resistance. Thus, Russia would accomplish a coup-de-main with relatively little bloodshed as it had done when it illegally annexed Crimea in 2014, albeit applying a very different method.
Russia committed approximately fifty thousand forces for the attack on Kyiv. What Russia designated as its Northern Front included approximately thirty thousand forces from the 29th, 35th, and 36th Combined Arms Armies from Russia’s Eastern Military District. These forces were staged in Belarus and advanced on Kyiv from the west side of the Dnipro River. The Northeastern Front included approximately twenty thousand forces from the 41st and 2nd Combined Arms Armies from Russia’s Central Military District. These forces were staged in Russia and advanced on Kyiv from the east side of the Dnipro River.
Ukrainian President Volodymyr Zelenskyy’s strategic goal was to maintain Ukraine’s sovereign government and defeat the Russian invasion, or at the very least, lose as little land as possible. Sharing a 3,058-kilometer land border with Russia and Belarus, defending at the border was not a prudent course of action for the much smaller Ukrainian military. Instead, Ukraine’s defensive plan relied on concentrating its forces in the east, where Ukrainian leaders expected Russia’s main attack to come, leaving the defense of Kyiv, and many other cities, as an economy-of-force mission.
The tactical defense of Kyiv fell to the 72nd Mechanized Brigade, which was based in the city of Bila Tserkva, approximately eighty-five kilometers south of the capital. Ukraine expected Russia’s main attack to be in the east and if Russian forces did attack Kyiv, it was anticipated to come from Russia, not Belarus, and therefore east of the Dnipro River. As such, the brigade’s defensive plan called for its 1st and 3rd Mechanized Battalions to defend the city’s eastern side (a frontage of approximately thirty kilometers), and its 2nd Mechanized Battalion to defend the city’s western side (a frontage of twenty-two kilometers). The brigade briefed this plan on February 17 or 18 and subordinate leaders conducted a reconnaissance for their defensive positions the following day.*
The brigade was severely understrength, with one company having as few as twenty-two soldiers.* As such, it was unable to conduct a defense in depth along such a giant frontage. On Kyiv’s western side, the plan was for the 2nd Mechanized Battalion to leverage the natural obstacle created by the Irpin River and defend the existing crossing points from the river’s eastern bank. The 1st and 3rd Mechanized Battalions moved into their defensive positions just prior to the invasion, but on the morning of February 24, the 2nd Mechanized Battalion was still located at Bila Tserkva, leaving Kyiv’s east unguarded.
Also supporting the defense of Kyiv were elements of the 4th Rapid Reaction Brigade of the Ukrainian National Guard (at Hostomel Airport), the Rapid Operational Response Unit of the national police, elements form other Ukrainian Army units, Ukrainian special operations forces, members of the recently established Territorial Defense Forces, and other volunteers that were not part of the formal defense establishment. It is difficult to get an accurate estimate of the total number of fighters defending Kyiv at the start of the battle. Some have estimated the total defending force to be as high as eighteen thousand, but a majority of them included Territorial Defense Forces and other volunteers who were poorly armed and extremely unorganized at the start of the war. Soldiers from formal military units constituted only three to five thousand of the total defending force.
Kyiv had no civil defense plan. City officials had not discussed or rehearsed any contingencies involving the city being attacked.‡ However, the city’s police force, which numbered over twelve thousand, had received warning of an imminent attack, which included potential scenarios the Russian military might employ. This included the possibility of Russia attempting to seize an airfield for the landing of troop-carrying aircraft.‡ This information was reportedly provided to Ukrainian officials by the CIA and then likely relayed to the police.
The week before the invasion, Kyiv’s police worked with Ukraine’s intelligence services and conducted multiple intelligence-driven raids that resulted in the arrest of dozens of suspected Russian saboteurs or operational supporters. The day before the invasion, the police also obstructed the city’s airfields by positioning fire trucks, police vehicles, and mines on the runways. Once the invasion began, the police employed robust signals intelligence to help identify, and subsequently detain, Russian agents in Ukraine or their supporting cells.‡
Many other organizations also took it into their own hands to prepare for a possible invasion. For example, the head of the Ukrainian Air Force’s operations in the central part of the country, Lieutenant General Anatoliy Kryvonozhko, ordered Ukrainian fighter jets and air defense units to relocate days prior to the invasion, while replacing them with decoys and ensuring constant flight rotation to ensure there would always be fighters in the air if Russia did attack.
The Defense of Kyiv
The Defense of Kyiv can be broken into three phases. The first phase, the initial invasion, lasted three days. This was the period during which Russia sought to execute an initial plan to rapidly seize the capital, overthrow the existing regime, and install a pro-Russian regime. The battle of Hostomel was the key battle in this phase. When Russia failed to quickly secure the capital, it moved to the next phase, which consisted of multiple attempts to secure crossing points over the Irpin River to open a route to Kyiv. Key battles during the second phase took place in Kyiv’s suburbs of Bucha, Irpin, and Brovary, with the heaviest fighting occurring in Moshchun. This phase lasted roughly three weeks. The third phase was the Russian withdrawal which lasted until April 2.
Phase I: The Initial Invasion
On February 24, Russia commenced the invasion with electronic warfare and cyberattacks to cripple Ukraine’s air defense systems and command-and-control nodes. Shortly thereafter, starting around 5:00 am, Russia launched a limited strike campaign against industrial facilities, fuel facilities, air defense sites, command-and-control infrastructure, ammunition storage points, and troop assembly locations. Despite the fact that Ukraine shot down less than 20 percent of Russian cruise missiles during this opening phase, the Russian strikes were not very effective. For example, despite a rapid seizure of the airfield at Hostomel Airport being a critical part of the attack plan, Russia launched only four Kalibr cruise missiles against the air base, and none were effective: one hit a parade field, one hit a residential flat outside the air base, and two failed to explode after impact. Likewise, the single missile launched at the 72nd Mechanized Brigade’s base in Bila Tserkva hit an abandoned warehouse.
Despite the imminence of the attack, many Ukrainian forces were unprepared. It was not until after the invasion started that the 72nd Mechanized Brigade’s 2nd Battalion started moving from its base at Bila Tserkva to its defensive positions in Kyiv’s west. It became a literal footrace as the battalion raced (or crawled since it had to contend with extremely congested streets filled with Ukrainian civilians who were attempting to flee the country) one hundred kilometers or more to its defensive positions, while the Russian forces that had already crossed the border had to cover 150 kilometers of open road to reach Kyiv’s outskirts. Most of the severely understrength battalion’s forces did not make it to their defensive positions until the afternoon, and one company did not get its weapons until hours later because the truck they had been loaded on had broken down.*
The Battle of Hostomel Airport was the first critical battle in the defense of Kyiv. At 9:30 am, the Russian assault force that had launched from VD Bolshoy Bokov Airport in Belarus, approximately 170 kilometers from Hostomel, crossed the Belarusian boarder. This force included approximately thirty-four helicopters and two to three hundred Russian airborne soldiers from the 31st Guards Air Assault Brigade and 45th Separate Guards Spetsnaz Brigade. The helicopter package included a mix of Ka-52 Alligator attack helicopters and Mi-8 Hip transport aircraft. The Russian airstrikes and electronic attacks may have been ineffective in some places, but they were extremely effective at disabling or destroying air defense radars along the infiltration route.
The assault force remained undetected until it reached the dam at the Kyiv hydroelectric power plant just north of the city turned west toward Hostomel Airport. Near the dam, Ukrainians downed two of the lead aircraft, likely using man-portable air defense systems (MANPADS). The trailing aircraft fired their flares, avoiding further losses. The Ukrainian defenders at the airfield first became aware of the Russian air assault around 11:00 am, and only when they heard the chopping of rotor blades just minutes away.
Many Ukrainians expected an attack on the base, but they expected a ground attack from a small reconnaissance force or sabotage group, not an air assault from elite Russian forces. As such, the Ukrainians left the defense of the airport to elements of the Ukrainian National Guard’s 4th Rapid Reaction Brigade. Most of the brigade had deployed east in December, leaving less than two hundred personnel to defend the base. These defenders were not trained infantrymen but rear-echelon conscripts, and the officers in charge of them were “financial officers.”
Despite the surprise, the Ukrainian commander had deployed his conscript soldiers to pre-dug fighting positions after the missile strikes, so they were ready when the helicopters arrived.* The Russians expected to conduct a few strafing runs before offloading the soldiers for a rapid seizure of the air base, but things did not go as planned. The Ukrainian defenders put up much stiffer resistance than expected. Early in the attack, one of the conscripts downed a Ka-52 attack helicopter using his 9k38 Igla (SA-24) surface-to-air missile, giving the defenders an instant morale boast.
The Ukrainian defenders held out for two hours before they were forced to withdraw after running critically low on ammunition, but not before they had downed six to seven additional aircraft and inflicted dozens of casualties on the Russian attackers who had been inserted onto an airfield that offered no cover or concealment. Around 1:00 pm, the Russians finally controlled the airfield, but its runway had by that time suffered limited damage from Ukrainian artillery and bombers.
The follow-on force consisting of up to four thousand Russian soldiers had loaded onto a reported forty-one IL-76 transport planes earlier in the morning at an airbase in Pskov, Russia, but Russia aborted the transport mission while some of these planes were already enroute to Hostomel.‡ It is not clear if the mission was aborted due to the limited damage on the runway, a fear of losing too many airplanes given the air assault mission had lost 17–20 percent of its aircraft, or the unexpected delay in seizing the airfield, but the outcome was the same: Russia failed to establish an airbridge.
The Russian airborne soldiers might have controlled the airfield, but they were left in a vulnerable position. With no reinforcements coming by air and the mechanized and armor forces advancing from Belarus taking longer than expected, the forces at the airfield were left to defend the base without artillery or tanks.
The Ukrainians also realized the precariousness of the situation. If the Russians could establish an airbridge, they would have a direct route to the capital with only a severely understrength battalion standing in their way. Thus, the 72nd Mechanized Brigade planned a hasty counterattack by cobbling together a menagerie of disparate forces from the Kyiv area consisting of elements from the 80th Air Assault Brigade, 95th Air Assault Brigade, 72nd Mechanized Brigade, 3rd Special Purpose Regiment of the Special Operations Forces, and volunteers. Shortly after sunset, the Ukrainian forces initiated their counterattack. They quickly liberated the air base, but their control was short lived. The Ukrainians knew they lacked the forces necessary to defend the base against the mechanized forces advancing from the north. Thus, they deliberately cratered the runway with artillery and airstrikes to ensure it would remain unusable without lengthy repair and withdrew later that night. By dawn, the Russian mechanized column advancing from Belarus had finally arrived, but by this time, the airbase could only be used as an assembly area.
While the Ukrainians may have prevented Russia from using Hostomel as an airbridge, they remained in a dangerous position. The lead elements of the Russian column were on Kyiv’s doorstep. With Russian attacks all over the country, Ukraine could not reposition forces to help defend Kyiv. They would have to hold out with the forces they had. Yet, bolstering the 72nd Mechanized Brigade’s defense of Kyiv were Ukrainian citizens.
When Russia failed to rapidly seize Hostomel Airport and dispose of government officials, it allowed Ukrainian civilian volunteers time to bolster the capital’s defenses. It is impossible to know just how many contributed to Kyiv’s defense, but they likely numbered in the tens of thousands in terms of combatants and hundreds of thousands in indirect roles.
Groups of civilians transformed into territorial defense units, either as part of the formal Territorial Defense Forces or what could best be described as county militias. Instructors and students from the military schools, such as 169th Training Center, formed light infantry or artillery units. Defensive positions had a wide range of manning situations. Many had a mix of National Guard, Territorial Defense Forces personnel, newly formed community defense forces, police units, and civilian volunteers.
The army and police handed out thousands of AK-47s. In Kyiv alone, they handed out a reported twenty-five thousand rifles, ten million bullets, and rocket-propelled grenades and launchers.
The Ukrainian military established the Kyiv Defense Council the day of the attack. Its members included Colonel General Oleksandr Syrskyi (commander of Ukraine’s ground forces and the overall commander of the defense of Kyiv), Vitali Klitschko (Kyiv’s mayor), Lieutenant General Oleksandr Pavliuk (head of the Kyiv Military Administration), and many other military and civil leaders.
The council and military staffs had access to a unique tool that provided them situational awareness on Russian location and activities. The tool was a system called Delta that the Center for Innovation and Development of Defense Technologies, an office of the Ministry of Defense of Ukraine, had developed before the war. Delta was a system that collected, processed, and displayed information about the enemy, giving Ukraine the capability to focus its limited resources on known Russia locations. The system was able to process a wide range of information from civilian closed-circuit television cameras, traffic cameras, drones, satellites, human reporting, and other sources into one common operational picture.‡
Once the invasion started, civilian engineers employed dozens of volunteers to make the system fully operational. They established a main fusion center and geographic fusion centers throughout the city to collect, validate, and report vital information about the location, status, and activity of Russian forces in and around Kyiv. The geographic fusion centers also tasked groups of civilian unmanned aerial vehicle (UAV) operators to observe the Russian advance and emplaced other sensors to observe. During the battle, the engineers emplaced high-powered cameras on some of Kyiv’s high-rise buildings.‡
The destruction of the Kozarovychi Dam, a major dam at the intersection of the Dnipro reservoir and the Irpin river, is illustrative of the role that volunteers played in the defense of the capital. Andriy (pseudonym) was a Kyiv-based businessman who serviced government contracts. He also ran a multiday offroad race in the forests and rough terrain in Kyiv’s northwest, so he knew the terrain well. He recognized how precarious the situation was. He understood that to enhance the city’s defense, they needed to blow the Kozarovychi Dam.† Blowing the dam would turn the Irpin River from a small river that could be easily crossed using a small pontoon bridge into an insurmountable obstacle, thus severely limiting potential routes into Kyiv, and allowing the much smaller Ukrainian force to concentrate its forces at likely crossing points as opposed to trying to defend everywhere along the river.
Andriy leveraged a senior government official that he knew to gain a meeting with Syrskyi, commander of Ukraine’s ground forces, on the war’s second day. He briefed Syrskyi on his plan and used a computer program to visually depict the flooding’s impact. The river would grow from ten to twenty meters wide into a massive lake over four hundred meters wide in some places. Syrskyi instantly understood the impact of such an operation and immediately endorsed it.†
Andriy’s team, which consisted of his stepfather and two employees, drove to a bunker to pick up the necessary demolitions. After loading nearly one ton of explosives into the team’s two civilian 4×4 vehicles, Andriy returned to the command bunker while his team, along with an engineer officer that Syrskyi provided, drove to the dam. Vasyl (pseudonym) met the team when they arrived at the dam. Vasyl was part of Andriy’s network, and Andriy had dispatched him to the dam earlier in the morning to see if he could mechanically breach it, but his efforts were in vain. Thus, they had no choice but to blow a hole in the dam. Syrskyi’s engineer prepared the charge with the assistance of Andriy’s team and then blew the dam at 1:30 pm.† Instantly, the first of what would ultimately total more than thirty-one billion gallons of water flowed into the Irpin, making the northern portion of the river uncrossable, even with pontoons.
The Ukrainians destroyed few, if any, during the war’s first day. This allowed the Russian column to quickly reach the west bank of the Irpin River. It was not until February 25–27, that engineers from the 72nd Mechanized Brigade destroyed many of the bridges in the Kyiv area.*
Although the Russian column failed to penetrate Kyiv during the initial phase, Kyiv itself was not immune to violence. There was a significant amount of chaos and fighting within the city during the opening days of the war. On the evening of February 25, a journalist reported “extremely hard combat near the Kyiv Zoo.” There were many other reports of sporadic firefights in these opening nights. It is not clear if these fighters were Russian FSB (Federal Security Service), Spetsnaz (Russian special operations forces), Russian sympathizers, or simply friendly fire. Evidence suggests that many, but not all, were the result of friendly fire.*‡ Regardless of the cause, most of the fighting within Kyiv was over by the evening of February 26, when the mayor instituted a curfew.
After staving off Russia’s initial attack, when the United States offered to evacuate him, Zelenskyy famously replied, “The fight is here; I need ammunition, not a ride.” He may have halted Russia’s initial attack, but the city’s fate was still far from certain as the number of Russian troops committed to Kyiv still far outnumbered Ukraine’s regular forces assigned to defend the city.
Yet the Russians were experiencing their own challenges. Most of the Russian forces only carried three to four days of supply. By this time, they expected that they would have secured the capital, established a reliable airbridge to rapidly transport supplies, and exercised sufficient control so that they could acquire necessary supplies. But by the end of the third day, the Russian column on Kyiv’s west had not advanced past the Irpin River and the column on Kyiv’s east was stuck at Chernihiv, 115 kilometers northwest of Kyiv. Russia failed to develop a contingency plan for what to do if it did not control the capital by the third day, so Russia’s military was forced to develop its plan on the fly.
Surprised by the Russian attacks, millions of civilians became trapped in the city. Hundreds of thousands sought refuge in the city’s vast metro tunnels, causing a humanitarian crisis for the mayor as he attempted to safeguard, feed, and provide essential services like medical aid to so many people underground. As the battle progressed, some were able to evacuate the city by train, car, or foot, but the mayor reported, based on cell phone data, that at least one million residents remained in the city throughout the battle.‡ Civilians also flowed into the city. There were dramatic scenes of civilians attempting to cross blown or partially blown bridges into Kyiv from Bucha, Irpin, and other suburbs to escape the advancing Russians.
Phase II: Attempt to Cross the Irpin River
Russia failed to develop, or at least execute, an organized plan to seize the city. Rather than attempting a coordinated attack, what played out over the next three weeks was a series of many small, isolated, and uncoordinated attempts to cross the Irpin River. Russia’s first attempts occurred on February 27.
By February 27, Ukrainian engineers had destroyed most of the bridges in Kyiv’s western outskirts. This alone caused major confusion and difficulty for the Russian convoys moving south from Belarus to Kyiv. Many of the Russians had old maps and poor communications between different parts of their convoys. The Ukrainians also removed or painted over as many road signs as they could. These and other factors created friction between the different Russian formations, including reconnaissance, logistics, and headquarters elements. Along the Bucha River—a tributary of the Irpin River that separates the nearby cities of Bucha and Irpin—the Ukrainians had destroyed all the bridges except for the bridge along Vokzal’na Street. Soldiers from 4th Company, 2nd Mechanized Battalion established a defensive position on the southern side of the two-lane bridge just outside Irpin’s Giraffe Mall while volunteers—a mix of the official Territorial Defense Forces and informal volunteers—operated on the enemy side, often with the advice and assistance of Ukrainian special operations forces.
As a large Russian column approached the bridge, a 4th Company soldier initiated the ambush by firing an antitank missile at the lead vehicle. Shortly thereafter, a volunteer on the enemy side of the river destroyed the convoy’s trail vehicle with a rocket-propelled grenade. The rest of the vehicles—traveling in what would best be described as a parade formation as opposed to being dispersed in a combat formation—became trapped on the narrow street with nowhere to go. The destroyed lead and trail vehicles blocked the road and the remainder of the vehicles were so close together that it made it extremely difficult to maneuver onto the narrow roads and alleyways off Vokzal’na Street. Over the next ten to twenty minutes, 4th Company used artillery fire to destroy the remainder of vehicles. In total, they destroyed an estimated fifty Russian vehicles while suffering minimal casualties.
That same day (or possibly the following day, accounts differ), the Russians attempted to cross the E373 bridge near Horenka, just east of Bucha. This four-lane bridge was one of the largest into Kyiv. The Ukrainians had defeated an early crossing attempt on February 25 when they destroyed a six-vehicle convoy of about eighty Russian special police. Ukrainian engineers destroyed part of the bridge on February 26, but left part of it standing so they could continue to use it. They did, however, place mines and antitank barriers and set charges on the serviceable portion of the bridge to dissuade further Russian attempts and, if necessary, destroy the bridge.* After observing a Russian column massing on the far side of the bridge, 4th Company used their T-64 tanks and the 2nd Artillery Division’s 2S3 Akatsiyas to destroy the column.* This was the Russians’ final attempt to cross the Irpin River using the E373 bridge.
Also on February 27, the Russians attempted their first of what would be many attempts to cross the Irpin River near the small village of Moshchun. A small unit—5th Company, 2nd Mechanized Battalion—was responsible for the defense along the river from Moshchun to Chervone, a frontage of seven kilometers for the understrength company. The bridge at Moshchun was approximately six and a half kilometers north of E373 bridge at Horenka, and the bridge at Chervone was another seven kilometers further north. These bridges were single-lane, concrete slabs that connected dirt roads on each side of the river. On February 27, both bridges remained standing and given the fact that the bridge at Moshchun was left unguarded, it is not clear the Ukrainians even knew it was there.*
The first Ukrainian soldiers had arrived at their battle positions late in the morning of February 24. They had observed the helicopters overflying their positions on the way to Hostomel and regretted not having any MANPADS to shoot at them, but not only did they lack portable air defense weapons, they were also missing their rifles. The vehicle that the company had loaded its weapons and ammunition onto had broken down. The weapons finally arrived at midnight. The battalion also deployed without a sustainment plan. Luckily, the local population provided the soldiers with blankets and food and even helped them dig fighting positions in the opening days of the war. The understrength company had less than thirty soldiers when it first deployed, but a day later it had grown to seventy due to the thousands of Ukrainians who showed up at recruitment centers after the invasion to enlist and the many veterans who could be mobilized.*
The soldiers of 5th company had not only left the bridge at Moshchun standing, but had also left it unguarded. The bulk of the company was located seven kilometers north near Chervone’s bridge, leaving only a platoon of scouts within the village. But the scouts were located on the town’s eastern side as opposed to its west, where they could observe the bridge.
On February 27, a company-sized Russian element consisting of thirteen BMD-2 infantry fighting vehicles and one BMD command variant crossed the bridge and started driving around the village’s north to look for a route into Kyiv.* The 2nd Mechanized Battalion commander ordered the company to engage the Russian patrol, so the 5th company commander immediately dispatched two of his BMP infantry fighting vehicles from Chervone with his own vehicle following a few minutes later.
What could or should have been an ambush for Ukrainian defenders was now a movement to contact. By the time the company commander’s vehicle arrived at the scene, an intense firefight was raging.
The understrength 5th Company may have been outnumbered—three vehicles to thirteen—but Territorial Defense Forces, later joined by a small group of international fighters, had established fighting positions in the woods just north of the dirt road that the Russians were using. The Ukrainian BMPs engaged the Russian flank at the same time the Territorial Defense Forces initiated their ambush. As the company commander’s vehicle jumped into the fray, it was complete chaos, with fire and smoke everywhere. The company commander even witnessed a plane get shot down, though he was unsure if it was Ukrainian or Russian. While the Russians may have had superior numbers, the attack caught them off guard and they retreated over the bridge.*
After this relatively short but intense firefight, the company commander moved his company headquarters to a building on Moshchun’s western side so that his company could better observe and cover the Irpin River. Ukrainian special operations forces destroyed the bridges at Moshchun and Chervone later that day or the following day.* From February 28 onward, the 5th Company fighting positions just west of Moshchun were subject to regular mortar, artillery, and aviation attack. The fire became so intense that by March 5, the company strongly urged any remaining civilians to leave the town.*
With the bridges over the Irpin River now destroyed or well defended, the Russians were forced to cross using pontoon bridges in the rural area between the towns. The flooding north of Chervone was so severe that it was not possible to cross, even with pontoons. But the flooding stopped just south of Chervone because the sluice gate of a small dam remained closed. Soldiers from 6th Company, 2nd Mechanized Battalion tried to destroy the sluice gate by firing tank and artillery rounds, but those efforts proved unsuccessful.† As a result, it was possible for the Russians to use pontoon bridges to cross the Irpin River south of Chervone.
On the evening of March 5, the Russians made their first attempt to do so. The Russians conducted a massive artillery bombardment in advance of the river crossing operation. After a lull in the firing, they built a pontoon bridge near the village of Rakivka, approximately four kilometers north of the now destroyed bridge outside Moshchun. A platoon to company-sized force including a mix of BMP and BMD-variant vehicles crossed the river and advanced onto Moshchun’s north before the Ukrainians destroyed the bridge.* The Ukrainians destroyed two of the vehicles with Javelin antitank missiles, but the engagement ended in a draw, allowing the Russians to establish a foothold in the northwest corner of the village. The Ukrainians made multiple attempts to dislodge them, but withdrew after suffering casualties during each attack.*
It was now the Russians’ turn to press the attack. After a successful mortar attack on the 5th Company command post killed several Ukrainian solders, the company commander destroyed the radio equipment and commanded his element to fall back to defensive positions on the east side of the village. The company’s rear position had just become its new front line.*
The next day, the Russians attempted another pontoon crossing near Rakivka, but a Ukrainian Furia UAV spotted the bridge. The UAV also observed a massive force of two to three hundred vehicles waiting to cross. The Ukrainians immediately responded with a massive artillery barrage using every artillery tube that was in range.† They destroyed the bridge, but not before some of the Russian forces had crossed and reinforced the element that had established a foothold the previous night. The Russians made multiple attempts to establish pontoon bridges over the next several days. They were often successful in getting a limited number of forces across before being spotted by Ukrainian special operations forces or UAVs and the bridges destroyed by Ukrainian artillery.* Thus, the Russians slowly increased their combat power on the east side of the Irpin River but were never able to keep a bridge operational long enough to get enough forces across the river to break through the anemic Ukrainian defensive line. Ukrainian special operations forces played a critical role throughout the defense at the Irpin River. The forces of 2nd Mechanized Battalion were insufficient to cover the battalion’s entire frontage, so special operations forces patrolled along the river between its battle positions to help identify attempted crossings and to harass forces that had already crossed.*
Most of the Russian forces that crossed the river advanced on Moshchun, but a platoon-sized element of approximately twenty Russian soldiers turned north after crossing and advanced on the small village of Huta-Mezhyhirs’ka. This village was in 2nd Mechanized Battalion’s northern sector, where the battalion’s 6th Company was responsible for a 7,500-meter front that stretched from Huta-Mezhyhirs’ka to the village of Lyutizh. This was the area closest to the Kozarovychi Dam, so it was also the area where the flooding was the most severe. As a result, the Russians made only a single attempt to cross the Irpin River in 6th Company’s sector. On March 1, only a few days into the flooding, the Ukrainians observed Russian engineers attempting to lay a pontoon bridge across the river, so they immediately called in artillery fire that destroyed the bridge. More often than not, the fighting in 6th Company’s sector consisted of Russians engaging Ukrainian positions with small arms and rocket-propelled grenades from across the river in an attempt to get the Ukrainians to return fire, so they could identify the Ukrainian positions and return fire with artillery or attack helicopters.*
The platoon-sized Russian element that advanced on Huta-Mezhyhirs’ka on March 6, had the potential to surprise the Ukrainian defenders, but the Ukrainians were ready. An element from the Rapid Operational Response Unit, a special-purpose unit of Ukraine’s national police force, had been tasked help shore up 2nd Mechanized Battalion’s defense and was assigned to defend the town’s center within 6th Company’s sector. This element successfully repelled the attack and a subsequent attack a few days later. While the Ukrainian defender’s in the battalion’s northern sector may not have endured significant ground combat, they were under constant and often intense artillery and rocket barrages, with some lasting up to four hours.*
Other areas of western Kyiv continued to see positional fighting. As Russian forces continued their attempts to break out of Hostomel, Bucha, and Irpin, Ukrainian reinforcements were arriving from other nearby areas. Forces from the 95th Air Assault Brigade, based in Zhytomyr, were able to reach and liberate Makariv village (forty kilometers west of Kyiv) on March 2.
As the Russians were slowly building combat power on the east side of the Irpin River near Moshchun, Russian forces finally reached Kyiv’s outskirts on the eastern side of the Dnipro River. The forces advancing on Kyiv from the eastern side of the river consisted of second-line forces with older, less capable equipment. Since the opening day of the war, they had been held up by Ukrainian forces defending the city of Chernihiv (115 kilometers north of Kyiv). All attempts to take or bypass the city had been thwarted by the Ukrainian 1st Tank Brigade, supported by National Guard and reserve units. The defense was so successful that Zelenskyy bestowed the title of Hero City upon Chernihiv on March 6.
On March 9, Ukrainian UAV operators reported that a battalion-sized column of tanks had finally bypassed Chernihiv and was approaching Kyiv from the north along the M01 highway.† The Ukrainian Delta command center had been monitoring the tank battalion for the past couple weeks in its staging areas in small villages northeast of Kyiv.* Despite being two weeks into the war, the tanks were moving along highway M01 in extremely close proximately to one another, once again in what would be best described as a parade formation as opposed to a combat formation. Unlike the heavily wooded area around Moshchun, the area to Kyiv’s northeast was open and flat, making it easy to spot an approaching column.
On the evening of March 9, the tank column reached Skybyn, a village at the edge of Kyiv’s suburbs near the city of Brovary. Like the ambush at the Giraffe Mall in Irpin, Ukrainians initiated an ambush against the column with antitank missiles fired at the lead vehicle from a 72nd Mechanized Brigade soldier and at the trail vehicle from a member of a volunteer force being advised by Ukrainian special operations forces. They then engaged the tanks with antitank missiles and artillery fire—likely including a Grad multiple-launch rocket system. Unlike the ambush at the Giraffe Mall, however, many of the tanks escaped because the kill zone was on a four-lane highway as opposed to a narrow city street. As a result, the Russian tanks had room to maneuver and retreat. Despite the escape of much of the column, it was reported that the Ukrainians killed the Russian regiment’s commander during the ambush.
Over the next several days fighting involving as many as three additional Russian tank battalion tactical groups continued in the small villages to Kyiv’s east. Ultimately, the Ukrainians successfully defended Kyiv’s east with the last major action occurring on March 12. Russian forces never entered Kyiv itself.
By March 10 it was clear that Russia’s main effort and its best attempt to seize the capital, at least on the west side of the Dnipro River, would go through Moshchun. Yet, the Ukrainians were hesitant to reposition additional forces to its defense given the recent attack in the east and the lack of defendable terrain there. While the fighting was most intense in Moshchun, that did not mean that it was calm elsewhere. At other locations along the Irpin River, even if the Russians could not cross the river, they constantly engaged Ukrainian positions with sniper, mortar, attack helicopter, and artillery fire.
Likewise, the Russians were not safe in their rear areas. The Ukrainians did not employ forward observers beyond the Irpin River in the west or beyond Kyiv’s city limits in the east, but they were able to maximize the power of their Delta intelligence fusion and operational picture to leverage sensors, including UAVs and civilians, to identify Russian positions.
In one case, an elderly Ukrainian woman observed the Russians establishing a refueling and ammunition point across the street from her house in a tiny village. She telephoned someone she knew in Kyiv and when word eventually got to the right person, an artillery strike followed. The strike killed the Russian soldiers and destroyed all seven vehicles, and the fire from the ordnance continued to burn for the next twenty-four hours. Somehow, the woman’s house escaped unharmed. In the defense of Kyiv, there were many similar cases where Ukrainian citizens called others they knew in the capital or in the Army and eventually the information got to the person that could action it.*
The Ukrainians also leveraged twenty-first-century technology to report on enemy positions. The Ukrainian government altered a popular phone application called Diia, which allowed users to store passports, driver’s licenses, medical records and other government records, to enable any citizen to report enemy locations to the government.
The 72nd Mechanized Brigade was supported by the brigade’s artillery group, consisting of 120-millimeter and 82-millimeter mortar batteries and four artillery elements—which the unit designated as divisions—equipped with different weapon systems. One of these, 1st Division, was equipped with 2S1 Gvozdika self-propelled 122-millimeter guns, while 2nd Division had 2S3 Akatsiya self-propelled guns, 3rd Division had BM-21 Grad self-propelled multiple-launch rocket systems, and 4th Division had MT-12 Rapira antitank guns. Of the four, 2nd Division was busiest as it supported the 2nd Mechanized Division’s fight in the west along with one of 3rd Division’s Grad batteries and one of 4th Division’s antitank batteries. The pace of fire was relentless, with each battery rotating between four positions within Kyiv’s west. These forces were constantly on the move to avoid being the target of counterbattery fire. It was not uncommon for only three of each battery’s four artillery pieces to be operational. It was not until late March that the pace finally slowed down enough so that two batteries were firing while the other rested. Prior to that point, the batteries were either shooting or moving.
On morning of March 11, the Russians commenced a major attack on Moshchun. Although they had failed to establish a sustained bridgehead, they had finally consolidated enough combat power from their various efforts to launch the attack. The artillery and rocket barrage started at 7:00 or 8:00 am and lasted several hours. The Russians then began their main assault. Dismounted soldiers avoided the roads and advanced through the neighborhoods, cutting holes in metal fences to advance unobserved while the BMPs advanced along the roads. Some of the dismounted soldiers made it to within ten meters of the Ukrainian positions before Ukrainians finally spotted their feet as they passed behind fences that were missing their bottom boards. Some of the dismounts used the woods to the north to maneuver within fifteen to twenty meters to the rear of a Ukrainian position. The Ukrainian soldiers only becoming aware when the Russians shouted at the Ukrainians to surrender. The Ukrainians, however, had other plans as they fired on the Russian soldiers, killing them.*
The Ukrainians did what they could to reinforce the company in Moshchun, but that was not much. On March 11 these reinforcements consisted of the 72nd Mechanized Brigade’s deputy commander, two tanks, and five special operations forces soldiers. Surrounded on three sides, the deputy commander called in artillery fire from the 2S3 152-millimeter artillery guns at ranges of only two to three hundred meters in front of the trenches.*
A pair of tanks had an important psychological effect. Listening to the captured radio the Ukrainian soldiers heard a Russian commander respond, “What kind of assault when two tanks have already arrived there? We cannot storm.” Despite his concern, the commander was ordered to continue the assault. To support it, the Russians built yet another pontoon bridge across the Irpin, which the Ukrainians destroyed using 120-millimeter mortars.*
Despite the heavy fighting and after evacuating many casualties using civilian vehicles because they lacked field ambulances, the Ukrainian soldiers maintained their positions.* But they could not hold them indefinitely. Days later, the Ukrainians were forced to fall back. Between March 15 and 18, the fighting was extremely heavy, and the Russians pushed the Ukrainians back to the southeastern corner of the village. But the Russians’ window of opportunity was closing. Realizing that the closed sluice gate on the Irpin River near Chervone was preventing flooding near Moshchun, General Syrskyi had ordered the engineers from the 72nd Mechanized Brigade to blow a larger hole in the Kozarovychi dam on March 7 or 8. That raised the water level enough that it overwhelmed the closed sluice gate and allowed the water to flood the Irpin River near Moshchun. As the flooding continued and the Irpin River widened, Russian forces realized that their window to build a reliable pontoon bridge across the river had closed and that they lacked sufficient combat power on the east side of the Irpin River to reach the capital. Thus, they were left with no choice but to call off the attack and retreat across the river.
The war in and from the air played an important role throughout the battle. Russia committed approximately 500 of its 1,400 fighter aircraft to the war, far outnumbering Ukraine’s sixty-nine. In mid-March, Russia was flying an average of two hundred sorties a day across the country compared to ten by Ukraine. Still, the Ukrainian Air Force was still able to fly, in large part because its fleet had been scattered just prior to the war’s start. With this imbalance the Russians had expected to gain air supremacy, but at best they were only able to gain air superiority. At Hostomel Airport, Ukrainian fighters were believed to have shot down two of the Russian helicopters.* The Ukrainian Air Force, combined with Ukrainian air defenses that consisted of at least 687 antiaircraft systems and thousands of MANPADS, limited the Russian Air Force’s ability to provide reliable and consistent support for the attack on Kyiv. By the end of March, Russia had lost twenty fighter aircraft, although Ukraine had lost thirty-six of its own.
Neither side seemed to have incorporated UAVs into its initial battle plan. By the end of the first or second week of the war, the Ukrainians had established an extensive array of UAVs around Kyiv, but it was largely a network of civilian drone operators. This network had self-organized, establishing the Delta command center collocated with the military and dispersing operators with military units around the city. The Delta command center also established a fairly sophisticated intelligence overlay with named areas of interest for the UAV operators to focus on. At this stage of the war, the UAVs were almost exclusively used in an intelligence, surveillance, and reconnaissance role.† The Ukrainian military possessed a much smaller number of drones than the volunteer network. Its largest was the Turkish-made Bayraktar TB-2, but at the start of the war, the military had less than a dozen operational Bayraktars. Nonetheless, a Bayraktar supported the Ukrainian’s ambush at Brovary, and no doubt, other firefights during the Battle of Kyiv. Russia was much slower to incorporate the use of UAVs into the war and they do not appear to have been employed in any significant role during the Battle of Kyiv.
Phase III: Russian Withdrawal
With little fighting in Kyiv’s east, the 72nd Mechanized Brigade was finally able to reposition forces to support the defense of Moshchun. On March 19, Ukrainian forces finally started their counterattack to dislodge the Russians from Moshchun and displace them from the east side of the Irpin River.* By March 21, the fighting in Moshchun was over, but only after a great cost. A detailed study determined that 81 percent (2,000 out of 2,789) of Moshchun’s buildings had been damaged or destroyed, with losses estimated at $37 million. There have been no reliable estimates of the number of Russians or Ukrainians that died in Moshchun or the Battle of Kyiv.
On March 29, Russia announced that it would “drastically reduce” its military assault on Ukraine, although some, including United States officials, did not believe it. Many instead assessed the Russian troop movement was likely “a repositioning, not a real withdrawal.” Yet Russian forces had started their withdrawal from Kyiv, and by most accounts, they performed the retrograde quite well. They used significant artillery firepower to cover the withdrawal—so much, in fact, that the Ukrainians believed that it was the start of another major offensive on the capital. By the time the Ukrainians figured out that the Russian troops were indeed withdrawing, it was too late to pursue them because the Russians blew bridges that the Ukrainians had failed to destroy during the war’s first day to prevent a Ukrainian pursuit. Many Ukrainian artillery soldiers first learned of the withdrawal on March 31 or April 1 when they were waiting for fire missions that never came, because the Russians had completely withdrawn out of artillery range.*
On April 6, Russia completed its withdrawal from the Kyiv Oblast. Failing to take Kyiv, Russia focused on trying to gain “full control over Donbas and Southern Ukraine” to “provide a land corridor to Crimea.” The acting commander of Russia’s Central Military District described it as “the second phase of the special operation,” although all evidence indicates that at the start of the invasion, the Russian plan included only a single phase and the rapid seizure of Kyiv.
Lessons Learned
At the strategic level, the first lesson of the Battle of Kyiv is that capital cities remain strategic and operational targets, which can lead to decisive moments in wars. They are the seats of political power and the psychological symbol of national identity. Capital cities are also often the center of institutional and military power. If Kyiv would have fallen in the opening days of the war, it is difficult to know exactly how this would have impacted fighting elsewhere in the country, but it is reasonable to conclude that the psychological effect would have been significant and the war might have been over in a matter of days or weeks, even if it might have transitioned to an insurgency.
A second strategic lesson is that civilian volunteers can play an important role in the defense of a nation. They did so throughout the Battle of Kyiv. Many served as fighters, harassing Russian elements as they advanced or providing a supporting role in major ambushes. Some blew dams. Others served in intelligence roles, flying UAVs or using their phones to report enemy positions via a call or an app. Still others served in a logistics role, evacuating wounded from the front lines or providing food and blankets to Ukrainian soldiers. With only three to five thousand active soldiers left to defend the capital city, it is very likely that Kyiv would have fallen had it not been for civilian volunteers.
One operational lesson from the battle is that an invasion may not require a month-long air campaign. The Ukrainians had one of the most sophisticated and largest air defense systems in the world, yet the Russians largely neutralized it, at least for the initial attack into Hostomel. The Russians lost only six or seven out of thirty-four aircraft during the infiltration. The airfield seizure at Hostomel Airport and the establishment of an air lodgment nearly worked. The Russian coup de main may have worked had its forces been given more time to plan, conducted full rehearsals for the operation, and been able to adapt to initial setbacks in both air and land phases of the operation.
At the tactical level, this battle demonstrated that hydraulic warfare—deliberate flooding during combat—remains an effective defensive technique. Some have given the Irpin River the moniker Hero River because of its role in saving Kyiv. Multiple times, the commander of the 72nd Mechanized Brigade thought they would lose the fight, but the river helped prevent the Russians from massing sufficient combat power on the east side of the river. Later in the war, the Russians conducted their own hydraulic warfare when they blew the Kakhovka Dam in the Kherson Oblast to help shore up their defenses. A small force can effectively defend against a much larger force if it can effectively incorporate natural obstacles into the defensive plan. In this case, a mechanized battalion, with limited support, successfully defended against a Russian force numbering as high as thirty thousand.
The battle also demonstrated the necessity for militaries to maintain bridging assets. The Russians may have conducted a dozen or more wet gap crossings with pontoon bridges. It is questionable that the US military would have had the ability to conduct so many attempts. Defense experts have long considered US military bridging capability inadequate. Likely learning from observing the defense of Kyiv, the US Army made force structure changes to improve the ability to conduct wet gap crossings during large-scale combat operations, but these may not be enough.
These are but a few of the many lessons that can be drawn from this battle.
Conclusion
The Battle of Kyiv was one of the most decisive urban battles in modern history. Against a much larger force, the Ukrainians decidedly won. While winning the battle did not mean an end to the war, it is extremely likely that a loss would have meant an end to the war—and to Ukraine’s sovereignty. It is easy to overlook just how close Russia came to winning the battle. Had Russia seized the airfield at Hostomel Airport more quickly, or had the massive, mechanized formations not been slowed during their southward advance, it is very likely that Russian forces would have made it into the heart of Kyiv in the opening days of the war. In hindsight, predictions that the war would be over in a matter of days might seem comical, but Russia came very close to accomplishing its goal.
Image: Map compiled by a Ukrainian researcher detailing many of the Ukrainian and Russian positions during the 2022 Battle of Kyiv (photo taken by John Spencer during a July 2023 research trip).
Liam Collins, PhD was the founding director of the Modern War Institute at West Point and a Distinguished Military Fellow with the Middle East institute. He is a retired Special Forces colonel with deployments to Iraq, Afghanistan, Bosnia, the Horn of Africa, and South America, with multiple combat operations in Fallujah in 2004. He is coauthor of Understanding Urban Warfare and author of Leadership & Innovation During Crisis: Lessons from the Iraq War.
John Spencer is chair of urban warfare studies at the Modern War Institute, codirector of MWI’s Urban Warfare Project, and host of the Urban Warfare Project Podcast. He served twenty-five years as an infantry soldier, which included two combat tours in Iraq. He is the author of the book Connected Soldiers: Life, Leadership, and Social Connections in Modern War and coauthor of Understanding Urban Warfare.
The views expressed are those of the authors and do not reflect the official position of the United States Military Academy, Department of the Army, or Department of Defense.