Set in the Australian outback in the 1880s, the movie follows the series of events following the horrific rape and murder of the Hopkins family, allegedly committed by the infamous Burns brothers gang.
The film opens in a brothel during a violent gunfight between the police and Charlie Burns' (Guy Pearce) gang, which ends with the deaths of all of the gang members except for Charlie and his younger brother Mikey. Captain Stanley (Ray Winstone) proposes to Charlie: he and Mikey can go free of the crimes they have committed if Charlie kills his older brother, Arthur (Danny Huston). Arthur is a mercurial psychopath who has become something of a legend and is so vicious that the Aboriginal tribes refer to him as "The Dog Man" and both the police and the Aboriginals refuse to go near his camp. Captain Stanley muses that perhaps the bounty hunters will kill Arthur in time and then states his intention to civilize the harsh Australian wilderness by bringing Arthur to justice and using Mikey as leverage. Charlie has nine days to find and kill Arthur, or else Mikey will be hanged from the gallows on Christmas Day.
We discover why Captain Stanley is intent on taming Australia: he has been forced to move there with his delicate wife, Martha Stanley (Emily Watson), and apparently wants to make it an appropriate place for them to live. The Stanleys were also friends of the Hopkins family, leading Martha to have nightmares about her dead friends and the unborn child one of them is revealed to have carried. Word spreads of Stanley's deal with Charlie, primarily from Stanley's corrupt subordinate, Sergeant Lawrence (Robert Morgan), causing disgust among the townspeople.
Shortly thereafter, Eden Fletcher (David Wenham), for whom Captain Stanley works, orders that Mikey be given one hundred lashes as punishment for the rape and murder of the Hopkins family. Stanley is aghast at this, not only because he believes that Mikey is innocent and the flogging will surely kill him, but because it would also break his deal with Charlie and thus put him and his wife in grave danger. Stanley sends Sergeant Lawrence away with tracker Jacko (David Gulpillil) and other men to "investigate" the reported slaying of Dan O'Riley by a group of Aborigines. Captain Stanley attempts to defend Mikey by gunpoint from the bloodthirsty townspeople, but is overruled once Martha arrives, insisting on revenge for her dead friends. Mikey is then brutally flogged, and horrifically wounded. The formerly excited townspeople slowly become disgusted and Martha faints at the ghastly display. After 40 lashes, Mikey has collapsed and the whip is soaked with blood. Captain Stanley grabs the whip and throws it at Fletcher, staining his face and suit with blood, who in turn fires Stanley.
Meanwhile, Charlie rides a great distance in search of Arthur, drinking and apparently reflecting on what he will do. Along the way, he encounters an inebriated old man named Jellon Lamb (John Hurt). In the course of conversation, Charlie realizes that Lamb is a bounty hunter in pursuit of the Burns brothers and knocks him out. Later on, after sleeping on a rock bed, Charlie awakes and, before he can gather what's going on, is speared in the chest by a group of Aboriginal men standing over him. Seconds later a gunshot is heard and the head of the man who threw the spear explodes. Charlie then passes out.
Charlie wakes up in the camp of his brother Arthur, which is located in caves among desolate mountains. Arthur's gang consists of Samuel Stoat (Tom Budge), who shot the Aboriginal man who had speared Charlie; a woman named Queenie (Leah Purcell) who tends to Charlie's wound; and a muscular Aboriginal man called Two-Bob (Tom E. Lewis). As he recovers from his wounds, Charlie has several opportunities to kill his brother, but does not. Not too far away from Arthur's camp, Sergeant Lawrence and his men have found and butchered a group of Aborigines. Arthur and Two-Bob find Lawrence's group while they sleep, ostensibly to get a horse for Charlie, and proceed to kill Jacko and Sergeant Lawrence. Before Arthur stomps Lawrence to death with his boot, Lawrence tells Arthur that Charlie has been sent to kill him. While this occurs, Jellon Lamb enters Arthur's camp and ties up Samuel and Charlie, both of whom are sleeping. Without his realizing it, Lamb is shot from behind by the returning Arthur. Arthur then proceeds to begin torturing the still-living Lamb with a knife, but Charlie instead performs a mercy-killing.
Charlie decides that he wants to break out Mikey and informs Arthur. Arthur, Samuel and Charlie ride into town dressed in the clothes taken from the officers Arthur and Two-Bob had killed, pulling behind them Two-Bob, posing as an Aborigine that they've captured. Once at the jail, the men free Mikey, and Charlie and Two-Bob ride off with him. Arthur and Samuel remain to slaughter the two officers inside the jail. The badly injured Mikey, who has never recovered from the flogging, dies in Charlie's arms. As they bury Mikey, Two-Bob tells Charlie that all of this is Charlie's fault: "You should never have left us."
Captain Stanley and Martha, who had become increasingly paranoid as they were ostracized by the townspeople after the flogging, let their guard down to have a peaceful, civilized Christmas dinner. Immediately following their conclusion of grace, Arthur and Samuel shoot open the door and invade their home. Arthur pulls Captain Stanley into the other room and brutally beats him, while Samuel taunts his wife. Arthur then calls Samuel to the room. Samuel drags Martha inside, and Arthur shoots Captain Stanley through the shoulder. As Samuel rapes Martha, Charlie walks in and informs Arthur of Mikey's death; Arthur ignores the news and encourages Charlie to listen to Samuel's beautiful singing. Charlie walks up to the unsuspecting Samuel and shoots him point blank in the head, then shoots Arthur twice, saying afterward, "No more." After this Arthur staggers out of the house. Charlie looks at a gun on the table that could potentially be picked up to shoot him, and then tells Captain Stanley "I want to be with my brother." Charlie leaves the house and follows a trail of blood to find Arthur hunched over on a hill nearby and sits down next to him. Arthur states that Charlie has finally stopped him and asks what he will do now, to no answer, and then slowly dies as his brother watches the blood red sunset of the outback.