On October 15, 1999, after mounting an intense tank and artillery barrage against Chechen separatists, Russian forces took control of a strategic ridge within artillery range of Grozny. They then made several abortive attempts to seize positions on the outskirts of the city. On December 4, the commander of Russian forces in the North Caucasus, General Viktor Kazantsev, claimed that Grozny was fully blockaded by Russian troops. General Anatoly Kvashnin, chief of the army's general staff, even predicted the rebels would abandon the Chechen capital on their own, urged to withdraw by civilians fearing widespread destruction. Supported by a powerful air force, the Russian force vastly outnumbered and out-gunned the Chechen irregulars, who numbered around 3,000 to 6,000 fighters, and was considerably larger and much better prepared than the force sent to take the Chechen capital in the First Chechen War. In addition, the tactics of both sides in this second campaign were drastically different.
The Russian strategy in 1999 was to hold back tanks and armored personnel carriers and subject the entrenched Chechens to an intensive heavy artillery barrage and aerial bombardment before engaging them with relatively small groups of infantry, many with prior training in urban warfare. The Russian forces relied heavily on ballistic missiles (SCUD, OTR-21 Tochka) and fuel air explosives. (The TOS-1, a multiple rocket launcher with thermobaric weapon warheads, played a particularly prominent role in the assault). These weapons wore down the Chechens, both physically and psychologically, and air strikes were also used to attack fighters hiding in basements; such attacks were designed for maximum psychological pressure. They would also demonstrate the hopelessness of further resistance against a foe that could strike with impunity and that was invulnerable to countermeasures. In November, the Kremlin appointed Beslan Gantamirov, former mayor of Grozny, as head of the pro-Moscow Chechen State Council. Gantamirov had just been pardoned by Russian President Boris Yeltsin and released from a 6-year prison sentence which he had been serving for embezzling federal funds which had been earmarked for the rebuilding of Chechnya in 1995 and 1996. He was chosen to lead a pro-Russian Chechen militia force in the upcoming battle. Interior Minister Vladimir Rushailo however refused to supply the militia with heavy weapons, limiting their combat arsenal to "obsolete AK-47s" and accused Gantamirov of accepting anyone who would volunteer, including rebel fighters. The militia, often used to spearhead the federal forces, suffered heavy casualties, losing more than 700 men in the battle.
The Russians met fierce resistance from Chechen rebel fighters intimately familiar with their capital city. The defenders had chosen to withstand the heavy Russian bombardment for the chance to come to grips with their enemy in an environment of their choosing, using interconnected firing positions and maneuver warfare. In stark contrast to the ad-hoc defense of 1994, the separatists prepared well for the Russian assault. Grozny was transformed into a fortress city under the leadership of field commander Aslambek Ismailov. The Chechens dug hundreds of trenches and antitank ditches, built bunkers behind apartment buildings, laid land mines throughout the city, placed sniper nests on high-rise buildings and prepared escape routes. In some instances whole buildings were booby-trapped; the ground floor windows and doors were usually boarded-up or mined, making it impossible for the Russians to simply walk into a building. Relying on their high mobility (they usually did not use body armor because of lack of equipment), the Chechens would use the trenches to move between houses and sniper positions, engaging the Russians as they focused on the tops of buildings or on windows. Well-organized small groups of no more than 15 fighters moved freely about Grozny using the city's sewer network, even sneaking behind Russian lines and attacking unsuspecting soldiers from the rear.
The Russian ground troops advanced slowly, and Grozny was surrounded by late November 1999. More than two additional weeks of shelling and bombing were required before Russian troops were able to claim a foothold within any part of the heavily fortified city. Russian ground forces met stiff resistance from rebel fighters as they moved forward, using a slow, neighborhood-by-neighborhood advance with the fighting focused on a strategic hill overlooking the city. Both sides accused each other of launching chemical attacks. Claims of chemical attacks may have originated from the observation of unburnt remnants of gaseous explosive from TOS-1 thermobaric missiles or the chemicals may have escaped from destroyed industrial plants. The rumours of gas attacks and the divisions among Chechens (the Islamic extremists were blamed for provoking the war), contributed to the abandoning of Grozny by many rebel fighters. In early December, Russia seized the town of Urus-Martan, the separatist stronghold near Grozny, after it had been battered with heavy air and artillery bombardments for several weeks.
The majority of the city's civilian population fled following the missile attacks early in the war, leaving the streets mostly deserted. However, as many as 40,000 civilians, often the elderly, poor, and infirm, remained trapped in basements during the siege, suffering from the bombing, cold, and hunger. Some of them were killed while trying to flee. On December 3, about 40 people died when a refugee convoy attempting to leave the besieged areas was fired on. Around 250 to 300 people who were killed while trying to escape in October 1999, between the villages of Goryachevodsk and Petropavlovskaya, were buried in a mass grave. The Russian forces besieging Grozny planned to attack the city with a heavy air and artillery bombardment, intending to level the city to the extent where it was impossible for the rebels to defend it. On December 5, Russian planes, which had been dropping bombs on Grozny, switched to leaflets with a warning from the general staff. The Russians set a deadline, urging residents of Grozny to leave "by any means possible by December 11, 1999:
The Russian commanders prepared a "safe corridor" for those wishing to escape from Grozny, but reports from the war zone suggested few people were using it when it opened on December 11. Desperate refugees who got away were telling stories of bombing, shelling and brutality. Russia put the number of people remaining in Grozny at 15,000, while a group of Chechen exiles in Geneva confirmed other reports estimating the civilian population at 50,000. Russia eventually withdrew the ultimatum in the face of international outrage from the United States and the European Union. British foreign secretary Robin Cook "wholeheartedly condemned" the Russian move: "We condemn vigorously what Milosevic did in Kosovo and we condemn vigorously what Russia is doing in Chechnya".) But the heavy bombardment of the city continued. According to Russia's ministry for emergency situations, civilians remaining in Grozny had been estimated at anywhere from 8,000 to 35,000.
The early fighting was concentrated in the eastern outskirts of Grozny, with reconnaissance teams entering the city to identify rebel positions. The Russian tactic appeared to be to draw fire from the rebels, then pull back and pound the Chechen positions with artillery and rocket fire. By December 13 Russian troops had regained control of Chechnya's main airport. Located in the suburb of Khankala, it was the main Russian military base during the first war and it was one of the first targets to be hit by warplanes at the start of Russia's involvement in the second. The next day, more than 100 Russian troops were reported killed when an armored column was ambushed in Minutka Square; reports by the Reuters and Associated Press correspondents were vehemently denied by the Russian government.
On January 2, Chechen fighters attacked and destroyed a Russian armoured column which had entered the village of Duba-Yurt the day before. The following day, Gen. Valentin Astaviyev said on state television that Russian forces had suffered only three dead in the previous 24 hours. Yet the commander of an Interior Ministry unit in Grozny told Agence France-Presse that 50 men had been killed in the previous 48 hours. On January 4, Chechen fighters in Grozny launched a series of counter attacks and broke through Russian lines in at least two places, temporarily seizing the village of Alkhan-Kala. Russian public support for the war, which was previously overwhelming, appeared to fade as casualties mounted and the government came in for increasing criticism in the tightly controlled Russian media for understating casualty figures. However, Russia's heavy bombardments had finally begun to take their toll: using multiple rocket launchers and massed tank and artillery fire, the Russians flattened large parts of Grozny in preparation for an all-out assault.
On January 10, Chechen forces launched a major counteroffensive in support of the garrison in Grozny, briefly recapturing the major towns of Shali, Argun and Gudermes, and opening a new supply corridor to the besieged capital. In a series of coordinated attacks, the Chechens also ambushed a supply column on the Argun-Gudermes road near the village of Dzhalka, killing at least 26 servicemen in the heaviest one-day official death toll since the war began in September. The commander for the North Caucasus, Gen. Kazantsev, blamed the heavy losses on mistakes by "soft-hearted" officials who had allowed the rebels to counter-attack and declared that from now on only boys under the age of 10, old men over the age of 60, and girls and women would be considered refugees. On January 15, the Russians said 58 Chechens were killed as they attempted to flee Grozny.
By mid-January, tens of thousands of Russian soldiers had begun an advance on central Grozny from three directions. During this fighting, several suburbs and key buildings adjoining the city center changed hands several times. In a number of incidents, small bands of rebel fighters cut off exposed Russian units from the main forces. On January 19, in a major setback for the Russian forces, Chechen snipers killed one of the Russian commanders, Gen. Mikhail Malofeyev. Russian troops were unable to recover his body until five days later. Two days later, one Russian unit lost 20 men killed in north-west Grozny after the rebels made their way through sewage tunnels and attacked them from the rear. On January 26, the Russian government admitted that 1,173 servicemen had been killed in Chechnya since the war began in October. This figure was more than twice the 544 dead reported 19 days earlier, on January 6, with just 300 dead reported on January 4, indicating heavy losses in the Grozny battles and elsewhere during this month (later, Russia claimed 368 servicemen were killed in the city).
With their supply routes interdicted by an increasingly effective Russian blockade, ammunition running low and their losses mounting, the Chechen rebel leadership decided that resistance was futile. At a meeting in a bunker in central Grozny the rebel commanders decided on a desperate gamble to break through the three layers of Russian forces and into the mountains. Chechen President Aslan Maskhadov had been evacuated earlier to a secret headquarters somewhere in the south of Chechnya. About 1,000–1,500 fighters under field commander Ruslan Gelayev withdrew without orders, leaving other rebel forces exposed.
The main Chechen forces began to escape on the last day of January and first day of February during a violent winter storm, after an attempt to bribe their way out. A reconnaissance party they sent ahead failed to return, but the commanders decided to leave anyway. Some 4,000 rebel fighters and some civilians, moving in a southwesterly direction, were met with heavy artillery fire. The column of some 2,000 fighters, several hundred non-combatants and 50 Russian prisoners of war, hit a minefield between the city and the village of Alkhan-Kala. The Russian forces ambushed them as they were crossing a bridge over the Sunzha River. The Russian artillery barrage homed in on their position and the situation became desperate. The Chechens pushed on through the minefield, being unaware of it and lacking engineers. Scores of rebel fighters were killed by the combination of artillery fire and the crossing of the minefield, including several top Chechen commanders: Khunkar-Pasha Israpilov, the city's mayor Lecha Dudayev and Aslambek Ismailov, the mastermind behind the defense of Grozny. The rebels said they lost about 400 fighters in the minefield at Alkhan-Kala, including 170 killed. About 200 of the wounded were maimed, including Abdul-Malik Mezhidov and Shamil Basayev, (the latter stepping on a mine while leading his men). In all, there were at least 600 casualties during the bloody escape. Russian generals initially refused to admit that the Chechens had escaped from the blockaded city, saying that fierce fighting continued within the city. President Vladimir Putin's aide and the Russian government's spokesman on Chechnya Sergei Yastrzhembsky, said that if the rebels abandoned Grozny, "we would have informed you". Gen. Viktor Kazantsev asserted that as many as 500 rebels were killed during the breakout.
After some fighting on the outskirts of the village, Alkhan-Kala itself was hit by OTR-21 Tochka tactical missiles tipped with cluster munition warheads, killing or wounding many civilians. The rebels moved on, but a number of wounded fighters, including Khadzhi-Murat Yandiyev, were left in the local hospital and were captured by the Russians. On February 4, Russian forces, allegedly attempting to stop the Chechens from any further retreat, bombed the village of Katyr-Yurt. Up to 20,000 refugees desperately fled an intense bombardment that lasted for two days and killed hundreds of civilians, including the bombing of a civilian convoy which had been trying to leave the settlement during a lull in the fighting. A rebel post-operative war council was held in the village of Alkhan-Yurt, where it was decided that the Chechen forces would withdraw into the inaccessible Vedeno and Argun gorges in the southern mountains to carry on a guerrilla campaign against the Russians. The rebels then withdrew into the mountains.
On February 3, the day after the breakout, the Russians began "mopping-up" in the ruined city. Many serious crimes were committed against civilians, most notoriously the Novye Aldi massacre in which at least 50 civilians were killed when the neighbourhood was looted by the OMON (special police troops) on February 5. Several hundred rebel fighters remained in the heavily booby-trapped ruins, lying low and harassing Russians with occasional sniper fire. Because of the dangers of snipers, mines and unexploded ordnance it was not until February 6 that the Russians were able to raise the Russian flag above the city center. President Putin announced Grozny was "liberated" and said that military operations had come to an end. Many heavily damaged or mined buildings were blown up, including all high-rise buildings around Minutka Square. On February 21, Russian forces held a military parade to mark the Defender of the Fatherland Day (formerly Soviet Army Day) and to symbolize the supposed final defeat of the Chechen rebels. Russian Defense Minister Igor Sergeyev said during the ceremony that "the final phase" of the operation to "destroy bandit formations and terrorist groups that were trying to tear down Russia" had been completed.
The United Nations workers who entered the city with the first convoy of international aid discovered "a devastated and still insecure wasteland littered with bodies". There were some 21,000 civilians still in Grozny. The city's losses were never counted. Most of the corpses were cleared in 2000 and 2001 but one large mass grave dating from the time of battle was discovered in 2006 in the former Kirov Park area of Grozny. In March, the Russian army began to allow refugees to return to the devastated city.
About 500 (Russian estimate) to 1,000 (separatist claim) rebel fighters remained in the city and more returned later with the civilians, often hiding in communication tunnels and basements of damaged buildings by day, and usually emerging by night to fire at Russian positions or to plant IEDs in the streets to attack patrols and vehicles the next day. In June 2000, Russian police and special forces units began a major counter insurgency operation against the rebel forces in Grozny, but the bombings and clashes in the city continued as the guerrillas hid among the partially returned civilian population. According to the city's mayor Bislan Gantamirov, the guerrillas were being helped by the Chechen police and the Russians were unlawfully killing up to 15 Chechens a day in Grozny. According to Russian military analyst Pavel Felgenhauer, one could "be robbed, raped or shot at any time – even if [...] loyal to Russia". In several incidents, helicopters were shot down by missiles over Grozny, killing a number of high-ranking military officials. In the deadliest attack, more than 120 soldiers were killed in the worst helicopter disaster in history. There was also a series of bomb attacks against local government buildings (including suicide bombings). In 2002, Grozny was struck by a truck bomb, which destroyed the seat of the pro-Moscow Chechen government, killing at least 83. Military installations and police stations were also attacked and there were many daylight sniper shootings and other incidents, all aiming to kill or capture Russian soldiers venturing into the streets alone or in small groups.
The hostilities, however, became more sporadic as the years passed and the conflict in Chechnya in general became less intensive. Eventually, attacks in the capital became a rare occurrence. Large-scale restoration efforts in the city took place from 2006, often accompanied by the discovery of human remains, including mass graves.