Fifteen-year-old Esch watches as her older brother Skeetah’s prize fighting dog, China, gives birth to a litter of puppies. It is her first litter, and the labor is difficult and gory. Esch and Skeetah’s seven-year-old brother Junior is desperate to watch, and though they try to keep him away from the spectacle, their Daddy insists that Junior is old enough to see such things. Earlier that day, Daddy roused Esch and her siblings to warn them that a hurricane was on the way, and that preparations needed to begin—in the Mississippi Gulf town where Esch and her family live, hurricanes are serious business. As the puppies begin coming into the world, some live and some die; soon there are five puppies in all. At the end of the night Esch gets into bed and thinks about her crush, Manny, one of her brother’s friends whom she occasionally sleeps with. Esch is obsessed with Greek mythology since reading a book about it in school, and thinks that the love between her and Manny is fated to be a love as great and terrible as that of Jason and Medea.
The next day, Skeetah builds a kennel for the puppies while Esch hunts for chicken eggs in the yard. Skeetah excitedly brings her into the shed out back to show her the puppies nursing. At the sight of China’s swollen teats, Esch runs outside and vomits. Later in the afternoon, Big Henry (one of Skeetah and Esch’s eldest brother Randall’s friends) arrives to take them into town for dog food. At the grocery store, while Skeetah selects an expensive bag of food, Esch shoplifts a pregnancy test. On the drive back home, Big Henry drives past a bleeding man and unconscious woman who have just been in a serious car accident; he calls the police and waits with the couple until help arrives. Once home, a disoriented Esch locks herself in the bathroom with the test, and discovers that she is indeed pregnant—the baby, she knows, is Manny’s.
The following morning, Esch wakes up feeling sick; she goes into the bathroom and throws up, then climbs back into bed and sleeps some more. When she wakes a second time, she reads from her mythology book for a while, studying the story of Jason and Medea; she identifies with Medea, who has had her heart stolen by a man against her will. Skeetah comes to the door, upset. He leads Esch out to the shed where he points out one of China’s puppies, sick with parvo—a gastrointestinal virus which is highly contagious in dogs. Skeetah tries to get China to feed the sick puppy, but she barks viciously and pushes it away. Skeetah decides to separate the puppy from the rest of the litter and keep it comfortable until it dies. Skeetah and his friends are planning on hanging out in the woods later that night, and Esch spends the rest of the afternoon with him gathering supplies from the house and hunting squirrels in the woods. That night, Randall, Manny, Skeetah, Esch, and her brothers’ friends Big Henry and Marquise hang out in the woods, eating squirrel sandwiches. Skeetah snaps the sick puppy’s neck despite Randall and Esch’s protestations, and then jumps into a swimming hole to wash the parvo germs off. Everyone else gets in the pond, too; Esch makes a move on Manny, but he rejects her. Esch wonders whether she’ll ever be able to tell him about the baby.
The next day, Esch finds Skeetah in the other home on the Pit—an abandoned house which once belonged to their maternal grandparents. Their mother died in childbirth seven years ago, while giving birth to Junior, and now the house stands empty. Esch and her brothers only use it to scavenge supplies and hardware. Skeetah wants to use the linoleum from the old house to make a floor in the shed so that the other puppies don’t get sick from the dirt—at six weeks, he will be able to sell them for two hundred dollars apiece, and he is desperate to keep them alive so he can get the money. Skeetah asks Esch to accompany him on an adventure—he wants to go over to a neighboring property owned by white people to steal some cow wormer from their barn. Manny, whose cousin Rico fights dogs, too, has told Skeetah that cow wormer will cure dogs of parvo and prevent them from getting other parasites. When Esch and Skeetah get to the edge of the woods, though, they realize that Randall, Big Henry, and Junior have followed them. Randall tries to dissuade Skeetah from breaking into the barn, but Skeetah offers to spend the money he gets from the puppies on sending Randall to basketball camp—Randall is touched by the offer, and agrees to keep watch. Skeetah manages to get into the barn, but while he’s inside the owners of the house drive up in their truck—they have a dog in the back. Randall sounds the alarm, and as everyone begins fleeing through the woods, Esch struggles to keep up. Skeetah makes it out of the barn and runs with everyone else back home, but the dog pursues them. Back at home, Skeetah sics China on the white people’s dog, and she wounds it badly. The wounded dog turns and runs home through the woods.
The next morning, Skeetah asks Esch why she ran so slowly the day before; she doesn’t tell Skeetah the truth, and instead claims she was just tired. She helps Skeetah bandage the cuts he sustained climbing out the barn window, and then when he leaves the bathroom, she throws up into the sink. Esch examines her body in the mirror and sees that it is changing subtly; she decides to wear loose-fitting clothing and keep her secret a while longer. Out in the yard, Manny and Skeetah are talking about an upcoming dog fight. Skeetah wants to take China to the fight without actually fighting her just to make sure no one in the group forgets how powerful she is. Manny suggests that China is going to be weaker now that she’s a mother, but Skeetah says she now has something to protect and will be stronger for it. Esch and Junior help Skeetah and Manny mix up the cow wormer for China and feed it to her.
The next morning, Esch awakens to the sound of her father smashing down the disused chicken coop in the yard. He wants to strip it for wood so that they can board up the windows of the house. Inside the shed, China is weak and tired; Skeetah worries that Manny purposefully gave him bad advice in order to weaken China. Later that afternoon, Esch, Junior, and Skeetah take China on a long walk to the park because Skeetah wants China to sweat out the medicine. At the park, Randall, Manny, and some other boys are playing basketball. Manny’s girlfriend, Shaliyah, watches the game, and Esch burns with sadness and jealousy. Back at home that evening, Daddy is still at work on the coop; he explains that the approaching storm has been given the name Katrina. Daddy enlists Randall and Junior’s help in knocking down the coop using the tractor, but when some wire becomes caught in the grill, there is an accident. Daddy tries to remove the wire from the front of the tractor but gets his hand stuck, and when the tractor begins to slide down the slight incline towards the coop, Daddy wrenches his hand away and loses three fingers on his left hand. Simultaneously, inside the shed, an exhausted China attacks and kills one of her puppies after it gets too close to her food bowl.
The morning after Daddy’s accident, Esch brings her father soup and helps him take his medicine. He is watching storm coverage on television; Katrina is heading northwest across Florida and shows no sign of stopping. Randall has a basketball game later that day, and everyone gets ready to go, leaving Daddy asleep in the house. At the game, when Esch goes into the bathroom to relieve her bladder, she finds Manny waiting for her. He tells her he’s been thinking about her, and the two have sex. When Manny places his hands on Esch’s stomach, he realizes she is pregnant; repulsed, he leaves her alone in the bathroom, weeping. Esch eventually musters the courage to head back out. She joins her family on the bleachers, where Manny’s cousin Rico is harassing Skeetah about China’s puppies. Rico wants one, but as the number of puppies is dwindling, Skeetah is reluctant to promise one to Rico. Rico, in a show of dominance, starts a fight with Skeetah; down on the court, Randall’s coach ejects him from the game when he realizes Randall’s family has caused a disturbance. Outside the gym, Skeetah’s friend Marquise volunteers to settle the score between Rico and Skeetah by fighting his own dog, Boss, against Rico’s dog, Kilo—if Kilo wins, Rico gets a puppy, but if Boss wins, he doesn’t. Skeetah and Rico agree to the terms of the bet.
The next night, Esch and her brothers head through the woods to the clearing where the fight is to be held. Skeetah has washed China, and she gleams white and beautiful. A few other boys fight their dogs, and soon it is time for Rico’s dog and Marquise’s to face off. The fight is bloody and terrible; the dogs are too evenly matched. Rico wants to call a draw, but Skeetah, desperate to settle things, decides to fight China. Everyone begs him not to, but Skeetah is determined. As China and Kilo—the dog who sired her puppies—face off at last, China holds her own despite sustaining a terrible injury to one of her teats. When China rips out part of Kilo’s throat, Rico calls for the fight to end; China is victorious.
The next morning, Daddy is sick; he has been drinking despite the warnings on his medication for his hand, and cannot do anything but lie in bed. Daddy instructs Randall and Esch on what needs to be done to prepare for the storm, which is scheduled to make landfall in Louisiana very soon. Esch tries to enlist Junior’s help, and finds him standing in Daddy’s room; the two get into a fight during which Junior reveals he pulled Daddy’s wedding ring off of one of Daddy’s severed fingers sometime between the accident and today. Junior flings the ring at Esch and hides under the house until Randall pulls him out. Junior confesses that he wanted the ring because their mother, whom he never knew, gave it to their father. While Esch and Randall continue to prepare for the storm, Big Henry takes Skeetah to the store for supplies; Skeetah comes back with two huge bags of dog food and very few canned goods. He explains that almost nothing was left on the shelves, and suggests that if worse comes to worst, they can all eat China’s dog food. As Randall and Esch sort through the food, they realize they don’t have enough for five people. Daddy assures them that FEMA and Red Cross will provide food should things get really bad; otherwise, they’ll have to make do with what they’ve got. The house is all boarded up, and Randall and Esch teach Junior how to hunt for eggs in the grass; after they gather up a bunch, they set them in a pot to boil. Manny arrives to talk to Randall, but before he leaves, Esch confronts him. She tells him that she is pregnant with his child; he calls her a slut, and accuses her of sleeping with every boy who comes to the Pit. Esch attacks him, but Manny throws her off, and leaves her weeping in the dirt. Esch laments that while Medea made her anger known, she herself has been unable to talk Manny into loving her or even acknowledging her. Randall approaches Esch and tells her they need to return to the white people’s house to scavenge for supplies; when they arrive and break through the boarded-up windows, though, they realize the house is empty and bare. Back at the house, Daddy tells them the storm has been upgraded to a category five. Skeetah insists on bringing China and the puppies in for the storm; when Daddy forbids it, Skeetah threatens to sleep outside with the dogs during the hurricane, and then Daddy relents.
Esch and her brothers camp out in the living room the night before the storm; Esch, nervous for her baby’s life, comforts herself by reading myths. In the morning, the sky remains dark, and Esch goes to check on Skeetah and China. China is barking at the ceiling; seconds later, there is a terrible noise. They go out into the hall and see that the ceiling in Daddy’s room has caved in. Daddy, Skeetah, and the dogs move into the living room, and everyone settles in and listens to the wind. Soon, Randall realizes that the floor is wet. When Esch looks out the window, she sees water rushing towards the house. Soon the whole first floor is flooded, and everyone takes refuge in the attic. After a while, though, the attic begins to flood too, and Randall and Skeetah desperately make a hole in the ceiling so that everyone can escape. Skeetah suggests they climb an oak tree over to their grandparents’ abandoned house. When Esch hesitates to jump off the roof and onto the tree, her father goads her on, but Skeetah reveals that Esch is pregnant. Esch and Skeetah try to climb over to the house first and open a window, but Esch falls into the rushing water with the puppies; two wash away, and though she saves one by tucking it into her shirt, it dies. China swims off into the woods after the other two puppies, for once not heeding Skeetah’s calls. Everyone makes it over to the other house, but Daddy is weakened, Junior is traumatized, and Skeetah, having lost China, is despondent.
Once the water level has gone down, Skeetah decides to go after China. As soon as it is waist-high, he climbs down out of the attic and wades off into the woods against his family’s protestations. Once the water level goes down even more, it is dark, and Esch and the rest of her family set off barefoot down the road towards Big Henry’s house for shelter. At Big Henry’s, many friends and neighbors are gathered together; the house has suffered damage to the roof but is otherwise intact. Marquise takes his dog Lala to go look for Skeetah. He returns having found him, but admits he was unable to talk Skeetah into leaving the Pit. Daddy asks Esch if it’s true that she’s pregnant, and she says it is. He tells her that once things settle down, they’ll go to a doctor to make sure everything’s all right. Big Henry asks Esch, Randall, and Junior if they want to go for a drive through town and check out the damage; they are stunned by what they find. Houses, schools, and businesses have been reduced to rubble; trucks have been overturned and the homes and buildings closest to the beach have vanished seemingly into thin air. The group comes upon the remains of a liquor store, and sift through the rubble looking for alcohol for Daddy. Big Henry approaches Esch and confesses that he overheard her and Daddy’s conversation back at the house; he asks who her baby’s daddy is. Esch replies that her baby has no daddy, but Big Henry protests: speaking about himself, Randall, and Skeetah, he comforts Esch by telling her that her baby has “plenty daddies.” Big Henry drives everyone back to the Pit, where Skeetah has cleared debris, gathered what he could find of China’s things, and built a fire. Randall begs Skeetah to come back to Big Henry’s, at least for the night, but Skeetah believes wholeheartedly that China is coming home, and vows to wait for her until she does. Esch, Randall, Big Henry, and Junior sit with Skeetah around the fire; Esch allows herself to imagine that China will return, and that when she does, she will look at Esch and recognize her as a fellow mother.