The movie opens on Jamie McAllan (Garrett Hedlund) digging a grave for his father before rain and darkness come. He takes a break while his older brother, Henry (Jason Clarke), takes over. Both of them are working on the grave when the storm hits, and Jamie gets stuck. Henry saves him, despite Jamie’s tearful worries he would have left him down there.
The next morning we hear a voice-over from Laura (Carey Mulligan), Henry’s wife, walking behind the coffin with their two daughters, about how the farm reminds her of mud. Henry and James are struggling with and arguing about how to fit the coffin in the grave.
A black family, the Jacksons, drive by with their wagon. Although Laura tries to talk Henry out of it, he asks for their help.
Laura’s voice over then goes to the year 1939, explaining how she met Henry. Although she can’t say she was truly in love with him, she was grateful and saw him as a rescuer and reprieve.
Jamie meets Laura when he is coming home from school on the train, and she and Henry are there to pick him up. He is more innocent, clean-shaven, and talking about plays, which he admits is to impress Laura. He continues to shower her with stories at a fancy party and even dances with her, despite having just toasted to Laura and Henry getting married and having children.
In her voice over as they dance, Laura admits that she was perhaps in love with Jamie. Henry explains his brother has that effect on girls.
Laura explains that Henry’s proposal was not what she expected, although, she does seem happy, however, since she admits she likes domestic life, which soon includes raising their daughters, and that she felt she was put on earth for such a reason.
The scene shifts from Henry listening to the radio, distraught, as FDR addresses Pearl Harbor, to the Jackson family, saying goodbye to one of the sons, Ronsel (Jason Mitchell), who is giving his voice over about going off to fight in the war. His mother, Florence (Mary J. Blige), also gives a voice over about him going to fight.
Ronsel’s father, Hap (Rob Morgan), takes a break from working in the fields to talk about how his family worked the land all their lives and died without owning any of it. He seems fixated on acquiring a deed for his own land.
Henry casually tells Laura after sex one night that they’ll be moving to a farm in Mississippi in two weeks. He tries to tell her how much she and the girls will love it, but she’s surprised, as she doesn’t recall him ever telling her that it was his dream to have a farm.
With the help of Henry’s father, Pappy (Jonathan Banks) and his pickup truck, the family moves from their nice suburban neighborhood to a new house which doesn’t seem too bad. Someone already lives there though, and the man who took money from Henry has left town. Pappy rants about Henry being a fool after the homeowner shuts the door in their faces. They have no other choice but to live on the farm, despite Pappy’s protestations.
The scenery quickly becomes different on the way to the dilapidated farmhouse, with a rickety bridge and dirt roads. A poor white family, the Atwoods, who are always shown covered in dirt, also live in the area.
The Jackson family is sitting down to dinner when Henry interrupts by demanding help to unload the truck before it gets dark.
Henry and Pappy argue about Hap riding in the truck with them, but it’s the only way to ensure they can unload before it gets dark. Henry and Laura are both trying to do what they can to set things up, except Pappy who sulks in the corner and then tries to get Laura to give up her piano so he can sleep in the house. Henry and Laura fight over it, but Laura remains firm, and Pappy sleeps in the lean-to.
Jamie and Ronsel are both seen fighting in the war. Jamie is an army pilot, telling his co-pilot who has just missed his daughter’s birthday that he’ll be home to see her soon. Ronsel, in Belgium, is writing a letter to his family about how they are often on the move.
Back on the farm, Laura watches on from the porch while Henry fires Carl Atwood (Dylan Arnold) for a mistake with a horse. Carl begs to be kept on since he has kids and another on the way, but Henry is firm. Hap shoots the horse.
Vera Atwood (Lucy Faust) later comes to the house with her daughter, Alma, to beg for their job back, but Laura tells her it’s Henry’s decision, not hers.
Ronsel’s letter continues about how white people treat black people differently in Europe compared to back home. We see that he has a white girlfriend, showing up at her house with flowers.
The McAllan girls are sick with whooping cough, but Henry is unable to get into town to call for a doctor since it is raining too hard. He goes to the Jacksons’, interrupting Hap reading Ronsel’s letter, to demand the help of Florence, who is a midwife.
In her voice-over, Florence talks about how her mother was a nurse to white children, and that in caring for the McAllan girls, and knowing that anything going wrong would be her fault, she understands what her mother went through. The girls do improve though under Florence’s care.
Florence agrees to work full time for the McAllan family, despite Hap trying to dissuade her from doing so. Juxtaposed with scenes on the farm are Jamie and Ronsel both in trouble.
Jamie’s co-pilot gets shot in the head through the window and dies while Jamie panics but stays alive. Ronsel is in a tank, where his friend is shot and killed. Another juxtaposition shows Hap falling from a roof, breaking his leg.
Four weeks later, Henry comes to check on Hap, who expects to be back soon, despite how the doctor recommended he take six weeks. Henry is unsympathetic though and wants him back on the field for the sake of timing, and because of a rainstorm which had caused delay. Although Hap is hesitant because it means they’ll have to owe money, he agrees to rent a mule from Henry for the work. Once Henry leaves, he tries to get out of bed on his own but ends up falling and crying out in pain.
Jamie is shown on his bunk, drinking and very distraught about his co-pilot’s death. He continues to drink for the rest of the film.
When Henry tells Laura that Florence can’t come back to work for them for a few weeks, Laura complains Henry didn’t tell her, and that he should just lend Hap a mule. He refuses and tells her that they need to make their own money and look out for themselves.
Laura acts on her own to take money Henry has locked away in a box, which she uses to send a doctor to take care of Hap. Henry remains angry with Laura though and refuses her advances at night in bed. Laura says in her voice-over that although she didn’t always enjoy having sex with Henry, it made her feel like a wife.
Jamie and Ronsel are celebrating with women in their own way when the war ends. Ronsel and his girlfriend are sad though as they realize their relationship is coming to an end.
Laura says Saturday is her favorite day since it’s the only day she feels clean. We can see that she and her daughters have also become constantly dirty, like the Atwoods. Despite how she is bathing, Pappy walks right by Laura.
Jamie arrives home. Henry and the girls are delighted to see him, and Pappy comes around a bit after some jokes, but Laura seems caught off guard when Jamie hugs her.
Later that night over drinks, Jamie, Pappy, and Henry talk about the war. Pappy says that he was told about Jamie earning high honors, and wants to know how many men he killed, but Jamie brushes off that he was just lucky and doesn’t know. Pappy belittles Jamie by telling him that he at least looked the people he killed in the eye. Henry chastises Pappy when he walks away and tries to tell Jamie Pappy is proud of him. Jamie admits to Henry he actually killed about four Germans.
Ronsel has to sit in the back of the bus sectioned off for black people, on his way home. He’s in his uniform, and a young black boy salutes him with a smile, but Ronsel’s voice-over explains how nothing’s changed at home. He walks into the store in town, making conversation with the shop owner, with Laura also there to introduce herself.
Despite how he’s expected to leave through the back door, Ronsel tried to go out the front and is taunted by Pappy, who is with Henry and another man. Ronsel tries to leave calmly, but upon getting riled up lets them know how black soldiers were put on the front lines and killed many Germans and Japanese. Laura prevents Henry from intervening further and Ronsel leaves through the back door.
It is now dark when Ronsel comes home, having walked. His father has just said grace, asking for Ronsel to be protected. Ronsel and his father have an emotional reunion.
While Hap, Florence, and Ronsel are sitting outside on the porch, Henry shows up to tell them about the incident at the store. Once Ronsel confirms it is true, Hap has him apologize. After Henry leaves, Hap reminds Ronsel that white people will win every time.
Jamie leaves the store from buying his own supplies when the sound of a car backfiring sends him to the ground in a flashback while the white people there just stare at him. Ronsel helps him as he’s walking by and after they make their formal introductions, Jamie offers him a ride home in the truck.
Once they are a safe distance away from town, Jamie convinces Ronsel to come up from the back of the truck to ride inside with him. They talk about their experiences in the war, with Jamie admitting he doesn’t like Pappy either, and that he thinks Ronsel is acting stubborn when Jamie is trying to be nice to him after offering him a drink. They toast to the friends they both lost in the war.
Hap is practicing his reading at home when he sees Jamie dropping Ronsel off home in his truck, nervous that something else could be wrong, but Jamie offers to give him rides more often.
Laura is pregnant again, and Henry seems genuinely excited.
Ronsel and Florence have a nice moment while the rest of the family is at an evening worship service. He gives her candy which she tries to save for the other children, but he makes her have it.
Jamie’s drinking is causing trouble at home too. Laura wakes up in the middle of the night to hear him muttering on the porch in her sleep. He eventually lets her calm him down but runs off in the car when he sees Henry at the door.
In a voice-over, Laura says that Henry was always away when something bad happens, when Vera comes to their house, very pregnant, with a knife in her hand. She tries to demand that Laura take her into town since she’s going to kill Carl for abusing their daughters. Laura explains she can’t drive as Henry took away the keys. She tries to convince Vera to sit with her, but she leaves. Laura later learns that they found Carl’s body, with Florence having seen Vera covered in blood after stabbing Carl 17 times.
Laura is having a problem with her pregnancy and has one of her daughters get Florence, but still loses the baby. Florence tries to comfort her and tells her how she lost a baby too, Samuel.
Jamie and Ronsel continue to hang out and share war stories.
Laura is depressed for a time, but slowly gets better and plays the piano again. She also appears genuinely cheered up to discover that Jamie has built a shower for her, as a surprise, to give her privacy.
Florence explains in a voice-over that she is concerned for Ronsel, who does seem on edge, except for when Jamie picks him up for them to hang out. When it is just the two of them sitting on the porch late at night, Florence and Hap discuss how they think Ronsel should move, which Hap thinks will make him happier. He and Florence have a nice moment dancing on the porch while they both hum a song.
Ronsel and Jamie are out drinking, discussing how they miss certain aspects of the war. Ronsel especially does, since black men were considered liberators and treated better, but that he’s just considered a black man back home in Mississippi.
In talking about the women he’s been with, Jamie deduces that Ronsel was with white women in Europe, and even learns that he had a girlfriend there. Ronsel won’t say much about her though.
In bed at night, Ronsel gets emotional over holding his girlfriend’s cross. On his way back home alone, driving drunk, Jamie has another flashback. He is found the next morning by the sheriff and Henry, his car nearly in the pond.
Ronsel sleeps late the next day, with Hap giving him a hard time for having stayed in bed while his siblings worked. His sister hands him a letter from Germany, and he runs off with a smile on his face to read it.
Jamie and Henry get into a fight when Jamie spills milk and laughs about it. Henry calls him out for being drunk while Jamie fires back about how Henry can’t see that his farm is failing or that Laura is doing badly. Henry says he’s going away for a few days, and that he expects Jamie to be gone when he gets back.
Ronsel is walking in the mud and pouring rain when a pickup truck starts chasing him. It turns out to be Jamie, getting a laugh out of the trick he played on Ronsel. They’re both hesitant to talk about what’s bothering them, but when Jamie asks him what’s the worst thing he’s ever done, Ronsel admits it was leaving his girlfriend and shows him a picture of his girlfriend with a baby clearly fathered by Ronsel, named Franz. Rosnel tells Jamie that his girlfriend wants Ronsel to come back to Germany.
The two drive around carefree, drinking, and singing along with the radio. Jamie sees Pappy driving with another man, and it’s not clear if Ronsel can hide in time. Upon dropping him off, Jamie tells Ronsel that he is leaving, with the two acknowledging their friendship and Jamie hoping for Ronsel that he gets to go back to his son. They say goodbye, and Ronsel goes home to find just his mother there since the rest of the family is at church.
Laura and Pappy are home with the girls. As soon as Jamie walks in, Pappy can tell that Jamie is drunk, and demands to know who was in the truck with him. Jamie admits right away that it was Ronsel and Pappy demands the keys, also antagonizing Laura by pointing out how he can tell Laura likes Jamie.
While getting into the truck, Pappy finds the letter on the front seat. At his house, Ronsel realizes that he no longer has it. Florence tries to stop him from leaving until his father gets back, but he takes off. Jamie is packing up, to Laura’s surprise since she didn’t know he was leaving. She tries to stop him from leaving, on account of her daughters, but also herself. She kisses him, and they end up having sex.
Ronsel is outside in the rain at night, distraught, trying to look for the picture, when he is jumped by white men in their trucks. Jamie is asleep in bed when Pappy wakes him, accompanied by members of the KKK. They bring him to a barn full of other white men, where Ronsel is tied, beaten, and with a noose around his neck.
Jamie tries to get them to set Ronsel free, and fights with his father, also trying to defend Ronsel to the rest of the men over the picture of Ronsel’s girlfriend and his son, but they ignore him while getting Ronsel to admit he fathered the child.
Jamie gains control of someone’s gun and aims it at his father, but Pappy is correct that Jamie “doesn’t have the balls to kill a man up close.” Another man gets control of the gun, someone is shot in the leg, and it isn’t long before Jamie is on his knees and knocked unconscious.
When Jamie is brought to, Ronsel is now naked, bloody, nearly unconscious and tied to the wall, as Pappy and the KKK decide to make Jamie decide what will happen to Ronsel. Jamie is forced to decide on them removing Ronsel’s eyes, tongue, or testicles, to which he decides tongue. Ronsel wakes up screaming and struggling, and Jamie is held down, forced to helplessly look on.
Ronsel is left tied naked hanging in the barn wen his family finds him. Jamie is dropped off back in bed, still bleeding and barely conscious.
The next church service is awkwardly quiet, save for a baby crying. Hap just sits up at the altar, not saying anything, just looking up at the sky.
Laura goes to wake Pappy up. Jamie, still bloody, but now awake, is sitting on a chair, as he tells Laura, he killed Pappy. Jamie smothered him with a pillow, but beforehand he woke him up to let Pappy know he wanted to look him in the eye.
When Henry arrives home, Laura tells him that Pappy died, but says he did so peacefully in his sleep.
We are now back to the beginning, with Hap and Florence driving by, Ronsel in the wagon. Henry asks them for help, to which Hap acquiesces, though he refuses to have his sons help. Hap also gives words over Pappy’s grave before getting back in the wagon. Before they leave, Jamie runs over for Florence to give Ronsel the letter, “if you see him,” and walks away so that Henry is left to dig the grave himself.
Ronsel’s voice over explains his nightmares about being in the tank and with a burlap sack over his head, not being able to scream.
While walking around in a nice suit in a city, though still appearing unsettling, Jamie says that he hoped “Pappy’s untimely death” brought Ronsel’s family peace, and for Ronsel to find happiness, though he himself didn’t find peace. The Jackson family does appear to be doing well, dressed in finer clothes, at their own house, with Hap genuinely happy.
Ronsel’s voice-over continues with him talking about how he should end his story, which involved overcoming much as a mute. As he makes his way through Europe, to his girlfriend, and now son who is a few years older, he says he is there this time not for war but for love, and that love is how he chooses to end his story.