Late one night, British animal rights activists break into a science laboratory to free chimpanzees being used for medical research. Disregarding the warnings of the local scientist, the activists ultimately free the Rage virus subjects, which attack and infect the activists and scientist.
Twenty-eight days later, a bicycle courier named Jim (Cillian Murphy
) awakens from a coma in a deserted hospital. As he leaves the hospital, he discovers London is completely deserted and rife with signs of catastrophe. Jim is soon discovered and chased through the streets by infected people before being rescued by two survivors, Selena (Naomie Harris
) and Mark (Noah Huntley
), who rush him to their hideout in the London Underground. They reveal that while Jim was comatose, the virus spread uncontrollably among the populace, turning most people into vicious monsters ("the Infected") and resulting in societal collapse, possibly on a global scale.
Selena and Mark accompany Jim to his parents' house, where he discovers that his parents committed suicide. That night, several Infected attack the survivors, and when the fight ends Mark is bleeding. Selena immediately hacks him to death with a machete, explaining to Jim that infection is spread through the blood and overwhelms its victims in seconds, rendering them deadly to others. She warns that should he become infected, she will kill him "in a heartbeat." As the two journey through the derelict city the next day, Selena rules out intimacy between her and Jim, declaring that only the fight for survival remains. They discover two more survivors, Frank (Brendan Gleeson
) and his teenage daughter Hannah (Megan Burns
), holed up in an abandoned apartment tower. Invited to spend the night, Selena and Jim privately debate whether they should remain with Frank and Hannah. Jim says they seem like good people, while Selena fears they will slow her down, warning Jim that putting others ahead of one's own personal survival is a sure way to get killed.
The next morning, Frank informs Jim and Selena that supplies, particularly water, are dwindling, and shows them a prerecorded radio broadcast loop transmitted by soldiers near Manchester who claim to have "the answer to infection." The survivors board Frank's cab in search of the blockade and during the trip bond with one another. Selena's steely resolve begins to soften, while Jim's experiences on the trip begin to toughen him up. When the four reach the deserted blockade, Frank is infected by blood from a dripping corpse and is immediately shot by hiding soldiers, who then commandeer the cab and take Selena, Jim and Hannah to a fortified mansion under the command of Major Henry West (Christopher Eccleston
). As Hannah goes into shock, Selena and Jim reach out to each other romantically. Jim discovers that West's "answer to infection" involves waiting for the Infected to starve to death, while giving hope for community survival by forcing sexual servitude on the female survivors. Shocked, Jim attempts to escape with Selena and Hannah, but is captured by the soldiers, along with Sergeant Farrell (Stuart McQuarrie
), who disagrees with the Major's plan. While Jim and Farrell are imprisoned for the night, Farrell theorises that there is no worldwide epidemic, but rather that the island of Great Britain has been quarantined.
The next day, as two soldiers lead the prisoners into the woods to be executed, Selena and Hannah are trapped as the soldiers circle, wanting to begin the rapes. While the two executioners fight about how to kill Farrell, Jim escapes over a wall. He observes the contrails of a jet aircraft flying high overhead and realizes that someone in the outside world is still functioning. After luring West and one of his men to the blockade, Jim runs back to the soldiers' headquarters where he unleashes Mailer, an infected soldier that West kept chained outside for observation. Mailer attacks the soldiers in the mansion, while Jim stealthily skulks around, killing a soldier and manuevering around the growing number of Infected. Selena, held hostage by the last uninfected soldier, is horrified when Jim, covered in blood, bursts into the room and savagely kills the soldier, leading her to believe that he may be infected. Raising her machete, she hesitates before striking; he quips, "That was longer than a heartbeat," and the two kiss passionately. Hannah finds them and the trio run to Frank's cab, only to encounter West, who shoots Jim in the stomach. Hannah commandeers the cab and throws West to the infected Mailer, then escapes with Jim and Selena.
Selena and Hannah rush Jim into a deserted hospital, where Selena performs life-saving emergency procedures. Twenty-eight days later, a bandaged Jim is shown waking up in recovery again, this time on one side of a double bed in a remote cottage. Downstairs, he finds Selena sewing large swaths of fabric when Hannah appears. The three rush outside and unfurl a huge cloth banner, adding the final letter to the word "HELLO" laid out on the meadow. As the approaching jet flies over the landscape, the Infected lie in the streets dying of starvation. After the jet zooms past the three waving survivors and their distress sign, Selena wonders aloud, "Do you think he saw us this time?"