The film opens on November 16th, 2027. A brief newscast reports done by newsreaders (Mishal Husain & Rob Curling) on the state of the world: women have become infertile and no children have been born for 18 years. Most of the world's societies have collapsed and in Britain, all foreigners have been declared illegal immigrants and are rounded up by British military forces to be deported.
Additionally, the youngest person in the world, the Argentine Baby Diego (Juan Gabriel Yacuzzi), has been murdered by someone whom he refused to give an autograph to. The film's protagonist, Theo Faron (Clive Owen), has narrowly escaped being killed when the London coffee shop he frequents is bombed, an act attributed to an underground guerrilla group, the Fishes.
Theo is shaken by the incident and leaves work early to visit his friend, Jasper (Michael Caine), who lives outside London. Jasper, a former political activist, now lives in seclusion in a well-hidden house with his catatonic wife, Janice (Philippa Urquhart), growing variants of cannabis. The next day Theo is captured by The Fishes and is reunited with his former wife, Julian, who leads the group.
She and Theo have not seen each other for nearly 20 years after their son, Dylan, died in a flu epidemic. She first tells him that the Fishes were not responsible for the bombing of the cafe the previous day. She also asks for his help in securing transit papers; Theo's cousin, Nigel (Danny Huston), has influence within the government.
Theo is able to get the papers but they specifically state that Theo himself must accompany the refugee they are meant for. Theo agrees and he joins Julian (Julianne Moore), her associate Luke (Chiwetel Ejiofor), the refugee Kee (Clare-Hope Ashitey) and her midwife, Miriam (Pam Ferris) as they drive to the southern coast of England.
Along the way, they are attacked in a forested area by a large mob and Julian is killed. As they flee the scene of the attack, they are pulled over by the police. When asked for their papers, Luke kills both policemen. A small funeral is held in the forest for Julian and Luke drives them to a safe house on a farm after finding another car.
At the farm, Kee, reveals to Theo that she is about eight months pregnant. She also tells Theo that Julian had told Kee that she could only trust Theo. The Fishes hold a meeting to decide what to do with Kee. They conclude, despite Theo's objections, that Kee should stay with them until the child is born.
Theo thinks the pregnancy should be made public, the Fishes think that the British government would seize both Kee and the baby for their own political ends. Kee agrees to stay in the custody of the Fishes. Later that night, Theo awakens to a commotion outside. Two of the men who attacked the travelers that day have come to the safe house, one of them badly wounded.
Theo discovers that the attack on the car and Julian's murder were both arranged by Luke and the Fishes, who wish to use the baby for their own ends. Theo quietly awakes Kee and Miriam and convinces them to leave with him. They steal a car and narrowly escape the farm. Theo takes them to Jasper's house.
While there, Jasper promises to arrange for Kee to meet a ship called the Tomorrow, a vessel belonging to a group called the Human Project, a collection of scientists based in the Azores off Portugal, and dedicated to restoring human fertility. Jasper arranges for his friend, Syd, to help Kee, Miriam and Theo enter the immigrant camp at Bexhill.
From there, they will make arrangements for Kee to slip into the waters near Bexhill to meet the Tomorrow. The Fishes find Jasper's hidden home, setting off the alarms. Jasper gives Theo his car and gives them an escape route. From a nearby bluff, Theo watches as Jasper refuses to give the Fishes any information and is cruelly murdered by Luke. Before the Fishes arrival, Jasper had euthanized his wife.
Theo drives himself and his charges to a nearby school to hide out and wait for Syd. While there, Miriam talks of her past work as a maternity nurse and the onset of female sterilization 18 years prior. Syd arrives, acting very intimidating at first, and takes the fugitives in his truck to Bexhill. As they approach the detention center, Kee goes into labor.
When they arrive, Miriam, while trying to protect Kee from the guards, fakes religious mania and is taken off the bus, hooded and detained, however, her fate is not revealed. Theo and Kee manage to enter Bexhill with her pregnancy undetected and meet a woman named Marichka who takes them to a dingy room. Right after they reach the room, Kee gives birth to a girl.
The next morning they are met by Marichka and Syd, who tells them about an uprising that has taken over Bexhill. The Fishes have broken into the city and the national guard have been called out to restore control. Both Syd and Marichka (Oana Pellea) are astonished to see the baby.
Syd, having seen Theo on television the night before, plans to turn Theo in for a large reward, Theo being a prime suspect from the attack on the road. With Marichka's help, they escape Syd and find a temporary haven with Marichka's people. Marichka is also supposed to take them to a boat that will get them to the Tomorrow in Bexhill's harbor.
Theo, Marichka and Kee enter the city and are quickly found by Luke and his cohorts. They take Kee and her baby and leave Theo and Marichka to be executed by Patric (Charlie Hunman), one of Luke's lieutenants. They are able to escape when a skirmish erupts nearby. Theo goes looking for Kee, finding her in a decrepit apartment building which is under fire from the military.
Theo finds Kee with Luke, who has joined the battle with the British forces outside. As Theo attempts to take Kee and the baby out, Luke opens fire in Theo's direction -- Luke is killed a few moments later. As Theo and Kee walk out of the building, everyone who sees the baby stands in awe and the fighting stops, many of them break into prayer. The two walk outside the building and begin to walk away.
The fighting resumes. They find their way back to Marichka and the rowboat she's found for them and float out into Bexhill's harbor. Marichka refuses to leave with them and pushes the boat out. The two make it out to a nearby buoy which marks the rendezvous point. As they wait, two jets fly overhead and begin a bombardment of Bexhill. Kee sees blood in the bottom of the boat and panics, thinking it's hers.
Theo tells her he was hit in the abdomen when Luke shot at him. Theo has just enough time to teach Kee how to burp the baby and she tells him that she'll name her after Theo's son, Dylan, because Dylan is also a girl's name. Theo loses consciousness just as the Tomorrow arrives. Just before the closing credits roll the sound of children laughing is heard.