The film opens with scenes of plaster casts of the victims of Pompeii as quotes on the destruction are made.
In Britannia, 62 AD, a tribe of Celtic horsemen are brutally wiped out by Romans led by Corvus (Kiefer Sutherland). The only survivor is a boy named Milo, whose mother was killed personally by Corvus. The boy is captured by slave traders. Seventeen years later, in Londinium in 79 A.D., a slave owner named Graecus (Joe Pingue) watches a class of gladiators battle. He is unimpressed until he sees the grown Milo (Kit Harington), a talented gladiator the crowds call “the Celt”. Milo is soon brought to Pompeii with his fellow slaves. On the road, they see a horse fall while drawing a carriage carrying Cassia (Emily Browning), returning after a year in Rome, and her servant Ariadne (Jessica Lucas). Milo kills the horse to end its suffering and Cassia is drawn to him. Cassia is the daughter of the city governor Severus (Jared Harris) and his wife Aurelia (Carrie-Anne Moss). Severus is hoping to have the new Emperor Titus invest in plans to rebuild Pompeii but Cassia warns him of Rome becoming more corrupt. A servant named Felix (Dalmar Abuzeid) takes Cassia’s horse Veiles for a ride only to be swallowed up when a quake from Mount Vesuvius opens up the ground under him.
In Pompeii, Milo soon develops a rivalry with Atticus (Adewale Akinnuoye-Agbaje), a champion gladiator who, by Roman law, will be given his freedom after he earns one more victory. The gladiators are shown off at a party where Corvus, now a Senator, tells Severus the Emperor will not invest in his plans but he himself will. It is revealed Cassia left Rome to escape Corvus’s advances. When an earthquake causes some horses to become anxious, Milo helps calm one down. He then takes Cassia on a ride, telling her that they cannot be together. Returning to the villa, Corvus is ready to kill Milo (not recognizing him from the village massacre) but Cassia pleads for his life. Milo is lashed for his actions and Atticus admits respect for his rival as they prepare to face each other at the upcoming festival.
In the Amphitheatre of Pompeii, to punish Milo, Corvus orders him killed in the first battle and wicked trainer Bellator (Currie Graham) convinces Graecus to sacrifice Atticus as well. The two men, and other gladiators, are chained to rocks as other gladiators come out as Roman soldiers, to recreate Corvus’s victory over the Celts. Working together, Milo and Atticus survive the battle; Atticus realizes the Romans will never honor his freedom. During the battle, Corvus forces Cassia to agree to marry him by threatening to have her family killed for supposed treason against the Emperor. When Milo and Atticus win, Cassia defies Corvus by holding a “thumbs-up” for them to live and he has her taken to the villa to be locked up. Claiming an earthquake is a sign from Vulcan, Corvus has his officer Proculus (Sasha Roiz) fight Milo one-on-one. Their battle is interrupted when Mount Vesuvius erupts, creating massive tremors that causes the arena to collapse, sending Milo and Proculus crashing to the jail levels. Milo opens up the gates to allow his fellow gladiators a chance to attack; Proculus escapes while the gladiators kill Bellator. Seeing Corvus fallen under a collapsed beam, Severus tries to kill him, but Corvus stabs him and escapes.