The year is 2027, nearly two decades after an infertility crisis struck humanity and more than eighteen years since the last child was born. The world is in chaos, and the United Kingdom houses the only functioning government remaining. The main character, Theo Faron, is on his way to work in London when a terrorist bombing strikes, and he soon hears news of the death of "Baby Diego," the world's youngest human who was eighteen years old. He goes to his dealer and friend Jasper's house to discuss the situation. Thousands of illegal immigrants, termed "fugees," are streaming into the UK, but the government's brutal refugee policies do not allow them to live peacefully. Instead, they are sent to inhumane refugee camps like the one at Bexhill, very near to Jasper's home. Jasper and Theo muse over the existence of the Human Project, a fabled organization said to be searching for a cure for humanity's infertility.
The next day, Theo is kidnapped by an insurgent group called the Fishes, who are fighting for the government to recognize equal rights for all refugees. Leading the Fishes is his ex-wife, Julian; the two separated following the death of their young son Dylan twenty years before, lost to a flu pandemic. Julian needs Theo to get the Fishes fake transit papers so they can escort a young refugee woman to the coast. She offers him 5,000 pounds, knowing he needs money. He initially refuses and they take him home, but he eventually ends up taking the job and going to his wealthy cousin to get the papers and bring them to Julian. The only catch is that these are joint transit papers, so he will need to accompany the refugee woman to the coast.
Theo, Julian, and Luke, a respected officer in the Fishes, get in the car with Kee, the refugee woman, and Miriam, an older woman accompanying her, and head to the coast. They are interrupted when a band of fugees attacks their car and shoots Julian, killing her. Luke subsequently takes charge and they leave Julian's body to rest in the woods, then drive to a Fishes safe house to discuss their next move. There, Kee reveals to Theo her secret: she is pregnant, the first pregnancy in twenty years. She needs to get to the coast to meet the Tomorrow, a hospital ship disguised as a fishing boat, which will take her to the fabled Human Project where she and her baby will be given the care they need. Julian has told Kee to trust only Theo above everyone else.
That night, Theo eavesdrops on a conversation and learns that Luke arranged Julian's death so that he could take over as leader of the Fishes. Luke wants to use Kee's baby as a political tool to rally more people to the Fishes' cause and initiate an uprising among the fugees. Theo immediately gathers up Kee and Miriam and sneaks out of the safe house into a stolen car. They are chased for a while, but the Fishes do not shoot for risk of hurting Kee and her unborn child. They head to Jasper's house to plan how they will get to the coast, and Jasper makes an arrangement with a boarder guard named Sid who he deals drugs to. Sid will pretend to arrest them and get them into Bexhill, the refugee camp where the Tomorrow will be stopping in two days' time. Then they will find a boat to meet the ship at the designated spot.
As they are leaving Jasper's house, the Fishes arrive, searching for them, and shoot Jasper when he refuses to give them further information. Theo, Kee, and Miriam manage to escape, and true to his word, Sid comes to "arrest" them and take them to Bexhill. He does not know Kee is pregnant. On the drive to Bexhill, Kee begins having bad contractions and believes her baby will be coming soon. These contractions continue once they reach Bexhill, and Miriam, who was a midwife before the infertility crisis and wants to protect Kee at all costs, feigns insanity to distract the guards from Kee's pains. She is taken away and not heard from again. Meanwhile, Kee and Theo meet a gypsy woman named Marichka, who gives them a place to stay for the night. There, Kee has her baby at last, a little girl.
The next morning, both Sid and Marichka find them and see that Kee has a baby. In the meantime, a battle has started between the British army and the fugees, with the Fishes' help. Sid attempts to capture them and take them away, enticed by the bounty that has been placed on their heads, but Marichka and Theo fight him off and run away with Kee and the baby. The Fishes find them and take Kee away, but Theo pursues them and finds her with Luke in an apartment building. Luke is killed by an explosion, and Kee and Theo escape because all of the insurgents and soldiers in the building cease fighting, too mesmerized by the sound of a baby crying.
They make it to a boat and row to the designated meeting place to wait for the Tomorrow, but Theo has been shot and is slowly dying. Kee tells Theo she will name her daughter Dylan, after the young son that he lost. As Theo dies, the Tomorrow comes into view in the distance, there to save Kee and her baby.