In 1930s Tenessee, 31-year-old ‘spinster’ Laura (Carey Mulligan) makes a marriage of convenience to Henry McAllen (Jason Clarke) – despite being more attracted to his charming brother Jamie (Garret Hedlund). When the war breaks out, Jamie enlists, while Henry announces that he will be moving Laura, their children and his elderly father (Jonathan Banks) to a farm on the Mississippi delta.
Hap Jackson (Rob Morgan), one of Henry’s tenants, longs to own the land that he farms, as did his slave ancestors before him. His wife Florence (Mary J Blige) agrees to work for the McAllens, fearing what her absence might mean for her own children. Meanwhile their son Ronsel (Jason Mitchell) becomes a sergeant in a tank regiment, discovering that in Europe he’s seen as a liberator and a hero, not a second class citizen.
When the war ends, bringing Jamie and Ronsel home, the precarious balance of both family’s lives comes under threat.