Milo rescues Cassia from Corvus, who is killed by the lava from an erupting Mt. Vesuvius. The same lavaflow also kills Atticus and everyone else in Pompeii. Knowing they can't outrun the lava, Milo and Cassia embrace and kiss as the lava passes over them. They end up together forever, encased in ash.
Milo is a young boy who witnesses his parents' murder at the hands of Roman soldier Corvus (Kiefer Sutherland). Years later, Milo (Kit Harington) is now grown and is a gladiator in Pompeii, a port city on the coast of Italy that lays in the shadow of Mt. Vesuvius, an active volcano. Milo has caught the eye of Cassia (Emily Browning), the daughter of the city's leader, but she is also the intended wife of now-Senator Corvus. Corvus sees that she is interested in the young gladiator, so he orders him to be killed in the next gladiator games. At those games, Milo, alongside his gladiator rival Atticus, survives their match against several other gladiators, so Corvus orders his top officer Proculus (Sasha Roiz) to fight Milo to the death. But during the fight, Mt. Vesuvius begins to erupt. The resulting earthquake causes the arena to collapse, killing hundreds of spectators and releasing the remaining gladiators. With ash, lava, and fireballs raining down on Pompeii, the panicked townspeople flock to the harbor seeking to escape.
While all this is happening, Milo is searching for Cassia, who is locked up at the family's villa under Corvus' orders, while Atticus goes to the harbor to try to get a boat. Unfortunately, a tsunami forms, flooding the harbor and destroying all of the boats, drowning everyone in it's path. Milo is able to rescue Cassia and reunites with Atticus, but with the harbor gone, they decide to go back to the arena to get the horses and escape through the countryside. However, Corvus, Proculus, and their men are also at the arena preparing for their escape. Corvus captures Cassia and they flee on a chariot, while Proculus and the rest of the soldiers go after Milo and Atticus. They quickly dispatch the soldiers, then Atticus fights Proculus while Milo goes after Corvus and Cassia. Atticus is able to kill Proculus, but the wounds he suffers are mortal, and he knows he won't live much longer.
While trying to outrun Milo on horseback, Corvus crashes his chariot. He and Milo fight it out, with Corvus ending up padlocked to his chariot by Cassia. As a lavaflow approaches, Milo rescues Cassia and they escape, while Corvus is killed by the lava. The same lavaflow also kills Atticus and everyone else in Pompeii. Milo and Cassia are able to escape the city, but they know that they cannot outrun the lava. In their last moments together, Milo and Cassia embrace each other and kiss as the lava envelopes them both.
The movie ends with the two lovers encased in ash, together forever.