The film begins with Alice (Milla Jovovich) recalling key events from the first film. On September 29, 2002, thirteen hours after the initial T-Virus outbreak in The Hive, the Umbrella Corporation sends in a research team to re-open the complex. The entire team is slaughtered by zombies and Lickers who have been sealed within the complex. With the entrance now open to the surface Umbrella establishes a security perimeter around Raccoon City to keep citizens in a quarantined area safe.
After surviving The Hive, Alice was recovered by Umbrella and used for experimentation. She has gained superhuman powers because the T-virus bonded with her blood on a cellular level. Awakening in an empty hospital and recognizing the virus has escaped she arms herself from an abandoned police car and enters the city onfoot.
While Umbrella is evacuating civilians at the only bridge leading out of the city, police officer, Jill Valentine (Sienna Guillory) meets with her friend, Sergeant Peyton Welles. However, the T-Virus begins to affect citizens at the checkpoint, and Peyton is bitten by a zombie. Umbrella supervisor Timothy Cain seals the exit and orders his soldiers to fire rounds at the sky, scaring the civilians to return to the infected city. Elsewhere, Carlos Olivera (Oded Fehr) and two other Umbrella soldiers, Nicholai Ginovaeff (Zack Ward) and Yuri Loginova, link up with multiple Special Tactics And Rescue Squad units to hold against an onslaught of zombies in the street. However, they are overrun, causing Carlos and his team to fall back with an infected Yuri, bitten during the battle. Jill, Peyton and a news weather lady named Terri lock themselves in a church full of lickers; they are saved by the heavily armed Alice at the last minute.
Umbrella soon dispatch their Nemesis program (Matthew G. Taylor) to kill all remaining S.T.A.R.S. operatives and as many of the undead as possible. When he encounters L.J. (Mike Epps) and thirteen other members of S.T.A.R.S, they open fire on him, before he guns the S.T.A.R.S down but spares L.J's life when he drops his weapons. Dr. Charles Ashford (Jared Harris), an Umbrella scientist and creator of the T-virus, has refused extraction until he has located and rescued his daughter Angela (Sophie Vavasseur). He soon determines she is hiding out in her school. He informs Alice and her team that Umbrella's method of sanitizing Raccoon City is by nuking it, but offers to arrange an evacuation in exchange for rescuing Angela. Alice is separated from the group when Nemesis appears and kills Peyton. Jill and Terri make it to the school, picking up L.J. on the way, and encounter Carlos and his team, acting under the same offer. After encounters with zombie dogs and infected children who respectively kill Nicholai and Terri, Alice saves the group again and they succeed in finding Angela.
Dr. Ashford gives Alice the location of the extraction point, before being intervened by Major Cain. The group makes it to the point but are cornered by Major Cain, holding Dr. Ashford who kills him to force Alice to fight Nemesis. As she defeats Nemesis, she realizes his true identity (her former friend, Matt Addison) and refuses to deliver the killing blow. Her mercy appears to rekindle a trace of Nemesis's former humanity; they join forces and attack the Umbrella troops. Nemesis is killed in the ensuing fight whilst Alice and the others escape in the helicopter, leaving Major Cain to be eaten alive (the first bite by the re-animated corpse of Dr. Ashford) just before the city is nuked.
The helicopter is caught up in the blast radius and crashes into the Arklay Mountains. Alice is impaled by a loose metal pole, before being recovered by Umbrella. She is taken to the Detroit Umbrella research station. After several weeks, she awakens in a giant water tank, regenerated from her injuries. Led by Umbrella scientist Dr. Isaacs (Iain Glen), the doctors begin questioning her. At first, she appears to have no memory, but soon states with contempt "My name is Alice… and I remember everything." She fights her way out of the facility, only to be surrounded by dozens of armed guards. Suddenly, Jill, Carlos, Angela, and L.J. pull up in an SUV, disguised as Umbrella employees. Carlos shows the guards a written order placing her in his custody.
Alice is left to enter the vehicle, as they drive away, Angela asks Alice if she is alright. She doesn't respond, and Dr. Isaacs is shown saying, "Let them go," and then "Program Alice Activated." A close-up of her eye shows a flashing Umbrella logo as the film comes to an end.