In AD 180, General Maximus Decimus Meridius leads the Roman army to a decisive victory against the Germanic tribes on the frontier, ending a long war on the Roman frontier and winning the favor of Emperor Marcus Aurelius. The emperor is already old and dying, and although he has a son, Commodus, he asks Maximus to succeed him as a regent and turn Rome back into a republic. The emperor speaks with Commodus afterwards and explains his decision, but Commodus reacts by killing him and claiming the throne.
Still in Germania, Maximus is confronted by Commodus but he refuses to pledge loyalty. General Quintus, captain of the Praetorian Guard and a friend to Maximus, chooses to follow Commodus. He obeys Commodus' orders and reluctantly sends men to Spain to kill Maximus' wife and son. Maximus manages to escape his own execution by Praetorians and races back to his home in Spain, but he finds his wife and son already dead. He buries them and then passes out. A slave caravan passes by and captures Maximus, assuming that he is a deserter. Maximus is taken to Zucchabar in Roman Africa and sold to a man named Proximo, who uses him as a gladiator.
Maximus is forced to fight in local tournaments, and he wins every match because of his superior skill. He makes friends with Proximo's other gladiators, including a Numidian named Juba and a German named Haken. His successes allow Proximo to bring the team to the Roman Colosseum. Proximo explains to Maximus that he was himself a gladiator who fought well enough in the Colosseum to win his freedom, granted to him by Marcus Aurelius himself.
Having arrived at the Colosseum, Proximo's team is put in a match against highly unfair odds, in what is meant to be a reenactment of the Battle of Zama. Maximus and his teammates are on foot, armed with spears and shields, against a cohesive and well-equipped force of mounted fighters and archers on chariots. By means of Maximus' leadership, however, the team is able to upset their opponents. Commodus comes down personally to congratulate Maximus on his victory. At this point, Maximus removes his helm and reveals himself to Commodus. Maximus promises to exact vengeance against Commodus, who is still in shock to learn that Maximus is still alive. While Commodus yearns to kill Maximus on the spot, he cannot because doing so would cause the watching crowd to develop distaste for his leadership, since the crowd loves Maximus.
Commodus tries to have Maximus killed by paying Tigris, a former gladiator, to come back and fight Maximus. Tigris is well known and had earned his freedom by never being defeated. During the match, Colosseum staff approach Maximus from behind, holding tigers by the leash, in order to put Maximus at a disadvantage. Against all expectations, Maximus still wins, but he spares Tigris' life and is declared by the crowd as "Maximus the Merciful" and this further angers Commodus. Commodus goes down to Maximus and has his Praetorians surround him, and launches insults at him. Maximus responds by turning his back to Commodus and walking away, a grave insult toward an emperor, and Commodus' own Praetorians show their deference to Maximus by stepping aside for him.
As Maximus is being escorted back to the gladiator's quarters, his former servant Cicero approaches him and says that Maximus still has the loyalty of his army. Commodus' sister Lucilla and the senator Gracchus secure a meeting with Maximus, and Maximus obtains their consent to rejoin his army, topple Commodus by force, and hand power over to the senate. Commodus, however, suspects a plot against him, and forces Lucilla to confess it by threatening to kill her son. Praetorians close in upon the gladiator quarters before Maximus can leave. Proximo, loyal to Maximus, refuses to open the gate in order to buy Maximus time to escape. When the Praetorians break through, Proximo's gladiators assault them in order to give Maximus more time. The Praetorians kill Hagen and many others, and they execute Proximo. Maximus reaches the rendezvous place, but it is already staked out by Praetorians. Cicero is killed and Maximus is captured.
Commodus, desperate to get Maximus out of the way and to restore his own glory, arranges to duel him. Before the fight begins he stabs Maximus in the back, leaving him severely weakened. During the fight, Maximus still manages to dodge Commodus' blows and disarm him. Commodus asks the Praetorians to intervene, but Quintus betrays Commodus at this point and orders them not to. Commodus produces a hidden stiletto, but Maximus turns the blade back into Commodus' throat, killing him.
Maximus succumbs to the stab wound and dies, asking with his last words that the Roman Republic be restored and that the slaves be freed. As he dies, he has a vision of walking through a field of grain and being finally reunited with his wife and son. Lucilla has the body of Maximus carried out for an honorable burial while the crowd stands in respect. Some time later, Juba revisits the Colosseum at night, and he buries Maximus' two small figurines of his wife and son at the spot where he died. He promises that he will see Maximus again, "but not yet.