In 1901, half-breed Juliette Flores Lizzy Caplan sees her tribe and village slaughtered by Mexican troops. Still a child, she slips into the home of the soldiers' commander, General Juarez, and cuts his throat in his bedroom, setting a grim path of vengeance.
In 1912, outlaw Ransom Pride Scott Speedman is killed in a Mexican border town after an arms deal goes wrong. His lover Juliette learns his body is being held by The Bruja Cote de Pablo, a witch who runs the town's brothel. The Bruja informs Juliette that Ransom accidentally shot and killed her brother, a priest, and the only way to redeem Ransom's corpse is to give her Ransom's brother in exchange.
Juliette travels to Glory, a small town in southern Texas. Reverend Early Pride Dwight Yoakam refuses to help at first, but after he has passed out drunk, she approaches his younger son Champ Pride Jon Foster and, under the pretext of needing his help to retrieve Ransom's body, lures him off the farm and into accompanying her to Mexico. When Early wakes and discovers Champ is gone, he enlists his former Confederate Army comrade Shepherd Graves Kris Kristofferson and demands help in getting Champ back. Shepherd sends two bounty hunters, including his own nephew Matthew W. Earl Brown, to kill Juliette and retrieve Champ. But Shepherd also learns Juliette plans to trade Champ for Ransom's body, and a furious Early heads south to Mexico himself.
On their journey, Champ and Juliette gradually grow closer and encounter several strange travelers, including a circus troupe. After they outwit and kill Shepherd's two bounty hunters, Juliette confesses her true intentions to Champ, who proposes they work together to steal Ransom's body from the Bruja.
The plan goes awry when Early bursts in, knocks Juliette unconscious, and subdues Champ. The Bruja auctions Juliette off to the highest bidder at the brothel, but before the customer can rape her, she is rescued by a dwarf Peter Dinklage and a pair of conjoined twins from the circus troupe, whom Juliette had helped earlier. The dwarf dies while holding off the Bruja's men, allowing Juliette to escape. Shepherd, who wants revenge for his nephew's death, joins forces with the Bruja to track Juliette down.
When she catches up to Early, he knocks her down and prepares to shoot her, but Champ shoots him first. Early's shot goes wide, wounding Juliette, and Champ takes her back to the Pride home to recuperate.
At night, they are ambushed by the Bruja, her Apache henchman, and Shepherd. The Bruja, whose real name is Maria, reveals that she was the newlywed bride of General Juarez, who married him only the day before Juliette killed him. Despite her wound, Juliette manages to evade the Bruja's attack with a knife and cut her throat, while Champ kills Shepherd and the Apache.
Juliette and Champ retrieve Ransom's body and bury it on the Pride farm next to his mother. In voice-over, Juliette relates that she and Champ emigrated to Oklahoma, and then to New Mexico, where Champ died of malaria in 1939, survived by Juliette and their son, Jackson. Champ's tombstone features a quote from Ransom: “I was always a lover, despite all the killings.”