In a town devastated by a mysterious virus outbreak, a family has been hiding inside a fallout shelter for 301 days and they believe they’re the only survivors left. Ray and Claire always remind their daughter Zoey to never be loud, never lose control, and never leave the shelter because beings known as “breathers” could kill her. One morning, Zoe wakes up one after having a nightmare about the breathers and hides under the bed.
When Claire checks on her, Zoe says it’s her talking doll who is scared, so Claire takes her to see Ray to calm her down. As they walk through the shelter, the shadows make Zoe nervous, but it’s just Ray moving around. He assures that they’re safe and plays a little game they share called “report”, during which he tells him the details of his watch to confirm nothing has happened.
Zoe is still worried about the entrance, so Ray lets her climb the ladder leading to the hatch. The girl checks all the locks and chains until she’s finally sure everything is fine and then returns to her parents. Afterward Zoe adds another mark on the wall counting the days they’ve been there and chooses a can of peaches from breakfast, although it’s not like they have many options anyway.
The water pump doesn’t seem to be working, so Ray has to open it up and handle some stuff inside to make it work again. Suddenly Zoe says the food can is empty and a closer look reveals a hole on the side. Claire and Ray check the pantry and discover twelve cans have been emptied, equaling two weeks of rations.
As they throw them all away, they conclude a rat must’ve sneaked in through the air duct. Zoe is worried that the breathers could come in too, but her parents explain the air duct is too small for them. Claire then announces they’ll have to start eating less, and Zoe complains because they’re already eating very little.
They end up having beans for breakfast and Claire keeps complaining about the situation. She hates that she can’t play outside, that she doesn’t have any friends, and that she doesn’t have anything. Ray immediately scolds her and reminds her she has her parents, which is more than the people who died on the day of the outbreak.
It’s not a good life, but they’re at least alive. He calls each mark on the wall “a miracle”. After breakfast, the family plays a board game together.
Ray closes Zoe’s eyes with gentle fingers and makes some noises as he tells a story to make her imagine they’re back in town eating ice-cream. This brightens Zoe’s mood. Later, Ray and Claire discuss the situation in private.
Claire is worried because they’ve already lost of weight, so Ray says he’ll go outside to get food if necessary. When Claire tries to point out how dangerous that is, Ray distracts her with a kiss and they end up getting dirty as quietly as possible while Zoe is in the other room playing cards. After they’re done, Ray falls asleep and has nightmares about the day of the outbreak.
Sometime later, while playing the board game with Claire, Zoe wonders if they truly are the only survivors left, so Claire takes the periscope they built and lets Zoe take a look outside through the air duct. At first Zoe is excited, but the result is pretty sad: the town is nothing but a wasteland and she gets startled by a bird. She is relieved to see the shelter hatch really secured and concludes they truly are the only ones left, but Claire reminds her sometimes the truth is hidden from them.
Suddenly Zoe sees something moving and discovers the rat eating from another can in the pantry. They wake Ray up and he immediately takes out his dagger as he carefully approaches the rat. When he’s about to strike, the rat runs away and knocks over one of the lamps.
Ray goes after it and his dagger gets stuck on the floor, but luckily Claire grabs a wrench and smashes the rat before it can escape. At that moment they notice that the lamp’s flames are spreading on the table. Ray touches the glass and realizes what’ll happen, so he pushes his family back right before the lamp explodes.
A big fire starts on the table and burns the board game, so Claire has to keep Zoe from trying to retrieve it. While Ray struggles with the water pump again, Claire hides Zoe in the corner and grabs a big piece of cloth to try to put out the flames. Zoe joins her to do the same with her jacket, and after lots of effort, Ray finally makes the pump work again.
The water puts out the worst of the flames, then Ray starts hitting the table with a cloth too until it breaks. On the ground, it’s easier to keep the fire from spreading and they eventually put it out. The room is now pitch black and Claire rushes to turn on another lamp.
The couple panics when they don’t see Zoe, but luckily they find her under the bed. Zoe cries and explains she scared because the smoke from the fire is leaving through the air duct, meaning the breathers will see it. A flashback then shows what happened the day of the outbreak.
Ray and Claire had been preparing breakfast when suddenly Zoe told them the neighbors were moving. The parents were confused by this and looked outside to discover their neighbors frantically loading their car to leave. Ray and Claire asked what happened and the neighbor couple refused to answer, but their son Joey explained some government man said a virus in town made people bad.
Before he could say more, his parents took him away in the car. On the street, other cars were rushing away as well. At that moment their breakfast accidentally activated the fire alarm, which is why in the present Claire is reminded of that day.
Ray points out it’s almost nighttime, so hopefully it’ll be too dark for the breathers to see the smoke. Just in case, he uses the periscope to look outside and is horrified to see lots of smoke marking their spot. Claire freaks out and Zoe cries, saying her nightmare is coming true.
Ray reminds them it's important to stay calm and that even if the breathers do see the smoke now, by the time they get there the smoke will be gone. They’ve searched the area before and never found them, so Ray doesn’t think that will change now because the shelter is well hidden. Unfortunately Claire realizes something: the smoke will be gone, but it leaves ash behind.
She wants to go to the surface and clean off the ash before they’re found, and Ray agrees they have no choice. Zoe wants to come along too, but Claire forces her to stay. Ray and Claire take off the chains and open the hatch for the first time in months.
While the couple cleans the ground, Zoe decides to grab the periscope to watch. A shadow suddenly startles her, but it’s just her parents. She’s relieved to see they’re fine and keeps looking, only to discover a strange being approaching the area.
Terrified, Zoe starts yelling to warn her parents, however they can’t hear her. A desperate Zoe rushes to the ladder and uses all her strength to open the hatch, panicking when she doesn’t see her family. She calls for them in a loud voice and Claire has to rush to cover her mouth, reminding her making noise is worse.
Zoe warns them of the incoming breathers, but the beings run close to them and they turn out to be deer. Ray thinks it was a false alarm, but Claire points out they were running away from something and urges her family to get back in the shelter. Ray makes sure to seal the entrance well, yet the family worries because they can hear footsteps.
It appears to be only one breather, which doesn’t make sense because they usually travel in groups. Zoe is too scared and can’t stop crying, so Ray closes her eyes and whispers a nice scenario to calm her down. As the footsteps move above them and appear to fade, the family stays as quiet as possible.
Unfortunately Zoe’s doll gets caught on a pipe and Zoe freezes, but the rope comes loose and the doll starts making noises. Ray immediately grabs the doll and opens it to get the voice box to destroy it, making Zoe cry. At that moment the hatch starts shaking, so Claire climbs the ladder to try to hold it close only for a falling chain to hit her on the head.
One by one the chains are getting broken by the shaking while Ray struggles with the water pump until he manages to break it. He rushes to give the pipe to Claire, who is putting all her weight on the last chain to keep the hatch down. The breather still manages to open it a little, so Ray uses the pipe to start hitting him until he’s pushed back.
Now the couple can close the hatch again and lock it with the pipe. The shaking soon stops, yet the family can still hear the breathing outside the hatch. Suddenly they hear some noises in the other room and notice cans rolling on the ground.
The entire shelter starts shaking and the family realizes the breather brought more of his people to attack. Another flashback shows that on the day of the outbreak, Ray’s family tried to escape on their car too. As they drove down the road they were surprised to see cars coming back, and eventually they discovered the authorities were blocking the way because their town was now under quarantine, meaning nobody was allowed to leave.
Suddenly a rock fell on Ray’s car because an earthquake was hitting the area. In the present, the hatch finally breaks and a group of breathers gets in. The family runs to the other room and Claire breaks a lamp to start a fire, then she and Ray move the pantry to block the way.
It won’t hold the breathers for long, so Ray gets on the chair and helps Claire and Zoe escape through the air duct since they’re small enough. Then Claire tries to help Ray get through the duct too, but unfortunately he won’t fit. Desperate to escape, Ray lets Claire grab his wrist and dislocates his shoulder, now Claire can drag him through the duct.
When he’s about to escape, the breathers grab his legs and drag him back into the shelter. Ray isn’t afraid to confront them and a fight ensues. Not much can be seen in the darkness, but Claire and Zoe scream when they see a splatter of blood and assume Ray is dead.
Zoe wants to do something and throws a tantrum, so Claire has to comfort her through her grief. At that moment they notice some shadows approaching and the duo runs as fast as they can. They cross the forest and trip a couple of times until they reach the road, where all the cars from the outbreak day are abandoned.
As they discover that a wall with security cameras has been built around town, a helicopter appears in the sky and finds them with its searchlight. Claire and Zoe try to run but the chopper throws a net on them and captures them. The breathers come closer and it’s revealed that they aren’t monsters, they’re actually soldiers wearing face masks.
As the duo panics, the soldiers put a needle on them and another flashback shows what truly happened. The mountain shaking wasn’t an earthquake, it was a fleet of jets that started dropping bombs all around town to get rid of the infected people. As everyone panicked and ran away, Claire remembered that the local school had a shelter, so the family rushed to hide there, managing to close the hatch right before another bomb fell on them.
They looked around the shelter and found plenty of food, not to mention toys for Zoe. Ray called the attack a mistake but Claire revealed that she got a cut on her hand during the escape and they were indeed infected. The wound was turning black and spreading to the rest of her hand.
In the present, the soldiers finish taking blood samples and ask a few questions to confirm these are the only survivors left. Then they get ready to shoot the duo and Claire starts losing control, which makes her veins start changing color. It turns out the rule “never lose control” means the virus activates by strong emotions, causing the infected people to transform.
At that moment a fully transformed Ray appears and starts killing the soldiers, making Zoe realize the blood she saw in the shelter had also been her dad on a killing rampage. Ray manages to kill a bunch of soldiers, but there are too many of them and they retaliate with bullets that bring Ray down. While the soldiers are taking care of Ray, the duo escapes from the net.
Zoe hides in a car while Claire allows her body to transform and starts killing soldiers as well. Like it happened with Ray, she manages to kill a bunch of them, but the last one shoots her leg to make her fall. When he’s about to shoot her head, Zoe also transforms and starts beating him up before removing the mask.
She wants to kill him, yet Claire stops her because she doesn’t want her daughter to be a murderer. Zoe is out of control and attacks her mother, who recites the rules and uses calm words to help Zoe cancel the transformation. Afterward Zoe wraps up her mom’s wound and asks about the last soldier, so Claire says they shall let him on the ground so the virus can take him.
Then they check on Ray, who closes his daughter’s eyes one last time before dying. At that moment the helicopter appears again and the duo runs to hide inside the sewer system. While they carefully sneak around, they’re startled by something moving in the darkness, but to their shock it’s Joey.
The boy reveals there’s a group of survivors living in the sewers and Claire and Zoe can join them. As they climb down to meet them, Zoe sees the sunlight for the first time in months and counts 302 miracles.