The second Punic War has reached stalemate. The Numidian Prince Masinissa is being trained in Carthage to lead a legion in the war, and has fallen in love with Sophonisba, the daughter of a Carthaginian General. After defeating, although inconclusively, the rival Numidian King Syphax, Masinissa travels to Iberia to join the Carthaginian occupation there. Opposing him is the Roman General Scipio who successfully attacks and defeats these forces.
In a reversal of fortunes Masinissa switches sides to fight for the Romans and Syphax joins the Carthaginian armies. The theatre of the war changes to Carthage itself where Scipio again leads the invasion. The Carthaginian forces are routed and Masinissa defeats, and captures, Syphax. He is also reunited with Sophonisba who agrees to marry him.
Hannibal is recalled from his battles in Italy to try and lead the defence of Carthage but even with his leadership the Carthaginian forces are defeated. Despite Masinissa being now on the winning side the Romans insist Sophonisba must be sent to Rome in tribute. With her suicide being the only other option the two lovers will never be able to have a future together.