In feudal Japan, Kai (Keanu Reeves) is a half-Japanese, half-British outcast who lives in the village of Ako, ruled by the benevolent Lord Asano Naganori (Min Tanaka), who once found a young Kai lost in the woods and accepted him into his domain. Despite being rejected by the samurai led by Oishi (Hiroyuki Sanada) due to his ancestry, Kai becomes a skilled warrior and falls in love with Asano's daughter, Mika (Kou Shibasaki).
Ahead of the arrival of Shogun Tokugawa Tsunayoshi (Cary-Hiroyuki Tagawa), Ako is visited by his master of ceremonies, Lord Kira (Tadanobu Asano), who becomes attracted to Mika. He arranges a fight between his best soldier, the Lovecraftian Samurai (Neil Fingleton), and one of Oishi's men, Yasuno, who is later found under the spell of Kira's advisor, the witch Mizuki (Rinko Kikuchi). Kai takes his place and fights the Lovecraftian Samurai, but is defeated and humiliated. Later that night, Mizuki bewitches Asano into believing Kira is raping Mika, causing Asano to attack an unarmed Kira, an offense punished by death. The Shogun allows Asano to die honorably by committing Seppuku, and brands Oishi and his men Ronin. Kira demands to marry Mika, but the Shogun grants her one year to mourn the death of her father, and forbids the Ronin from seeking revenge. To ensure this, Kira traps Oishi in a well.
Several months later, Oishi was release by Lord Kira's men. He reunites with his family and ask his son Chikara (Jin Akanishi) that they need three horses and reunite the Ronin, including Kai, who had been sold into slavery, to avenge Asano and save Mika. After the local blacksmiths deny them help out of loyalty for Kira, Kai leads them to the Tengu, a place he once escaped from as a child. Oishi is subjected to a test, in which he is tempted by illusions, but follows Kai's advice to never draw his sword, earning the respect of the Tengu Master (Togo Igawa), who awards the Ronin with swords. On their way back to Ako, however, the group is ambushed by Kira's forces, led by Mizuki and the Lovecraftian Samurai. Several of the Ronin are killed, and Mizuki, believing to have slaughtered them all, steals Oishis's sword and present it to Lord Kira saying that it's Oishi's sword. Mizuki taunts Mika with her death and attempts to manipulate Mika into killing herself.
Kai and Oishi, however, have survived and reunite the remaining 47 survivors to continue their mission. With help of a band of travelling performers, Kai and Oishi infiltrate Kira and Mika's wedding, giving Mika an opportunity to flee. Meanwhile, the Ronin climb the walls and fight Kira's men, including the Lovecraftian Samurai, who is killed by a bomb. Kai and Mika attempt to escape together, but are attacked by Mizuki, who takes the form of a giant serpent, but is slain by Kai. Meanwhile, Oishi and Kira fight, and Oishi finally beheads Kira, avenging his friend.
The 47 Ronin are sentenced to death for committing murder, and allowed to commit Seppuku to preserve their honor. However, impressed by their bravery, the Shogun allows Chikara to live in order to preserve Oishi's bloodline. After the deaths of the Ronin, Mika finds a letter written by Kai, in which he promises to find her once she crosses into the "other world". A scroll with the blood of the 47 Ronin is preserved as a symbol of their unwavering honor, strength and dedication to justice.