After the death of grand prince Svyatoslav I, Yaropolk, Oleg, and Vladimir inherit the burden of rule over Kievan Rus'. While traveling toward Polotsk, a hunting party led by Lyut crosses paths with a rival group led by Oleg. Oleg has the chance to strike first at an aurochs, but when he hesitates, Lyut kills the animal instead. In a flash of rage, Oleg murders Lyut and pursues his men, colliding with Yaropolk's main force. Sveneld tries to defuse the growing dispute, but Yaropolk's men press the confrontation. The gates of Polotsk close against Oleg, and when he attempts to force a breakthrough along the causeway, he falls and dies. Polotsk's lord Rogvolod closes the gates, and Sveneld's attempts to intervene fail, forcing Yaropolk to reconsider how to mete out Lyut's death. In the end, Sveneld escapes punishment and flees.
In the summer, Sveneld returns to Polotsk with Vladimir and his retinue of Viking mercenaries. Vladimir intends to marry Rogvolod's daughter Rogneda, but she rebuffs him, accusing him of using the alliance to seize Polotsk's soldiers and calling him the son of a slave—an insult that inflames his pride. Furious over the slight to him and his mother, Vladimir lays siege to Polotsk. When the Vikings demand a bold strike, they persuade him to drink their berserker potion to prove himself. Under its spell, he leads a brutal assault and, urged by the Vikings, he rapes Rogneda. After the raid, he discovers Rogvolod and his wife are dead, yet he manages to spare Rogneda, and his action seems to haunt him more than the executions.
The war party travels to Kyiv to bring Yaropolk's death to account. Kyiv is empty, and Yaropolk has fled with the treasury. Yaropolk's Christian wife Irina facilitates a negotiation between the brothers, with Vladimir proposing a peaceful solution. Yaropolk arrives in good faith, but is assassinated by two Vikings. Vladimir's complicity remains unclear, and Sveneld proclaims Vladimir the new grand prince. Varyazhko, loyal to Yaropolk, swears revenge and gathers a large Pecheneg host to challenge Vladimir. Facing financial strain, Vladimir cannot pay his mercenaries, who grow restive, and the city under siege endures repeated assaults. Desperately, Kyiv's inhabitants, including Rogneda, attempt a sacrificial ritual to the gods, seeking aid for Fyodor—the son of Vladimir's warrior Fyodor. Both Fyodor and his infant son die when Vladimir does not intervene. Eventually, Vladimir agrees to a parley, but the Pechenegs attack, dealing heavy losses to his loyalists. In the face of this threat, emissaries from the Byzantine Empire arrive and offer support, and the combined forces stall the rebellion.
Realizing Kyiv's defenses are formidable, Vladimir orders the destruction of the Roman aqueduct to starve the invaders. While the plan unfolds, Varyazhko and the Pechenegs attack, and the Vikings unleash a bold counterstrike by rolling longships down the hill and into the attackers. This daring move helps turn the battle in Vladimir's favor. He defeats Varyazhko, insists on his own innocence in Yaropolk's death, and spares him. With the rebels exposed, the invaders retreat, and the water supply is cut, forcing the rebels to surrender. Vladimir meets the bishop Anastas, and the spiritual counsel leads him to open up about his guilt—Yaropolk's death, Rogvolod's destruction, and Fyodor's death, as well as Rogneda's rape. Anastas absolves Vladimir of his sins and, moved by the Christian promise of forgiveness, inspires him to abandon killing and embrace Christianity for the Rus. The story closes with a mass baptism in the Dnieper, signaling a new faith for the people.