The short answer
Because Rome would not quit. After Cannae in 216 BC it refused peace talks, raised new legions from a huge pool of citizens and allies, and stopped offering pitched battles. Hannibal had no siege train for Rome, little help from Carthage, and Rome ruled the sea. Scipio took Spain, invaded Africa and beat him at Zama in 202 BC.
Last reviewed
He won the battles, not the war
Hannibal never planned to storm Rome. His plan was to beat Roman armies in Italy until Rome’s allies deserted and the Senate asked for terms. On the battlefield it worked. At Cannae, in August 216 BC, he wiped out the largest army Rome had ever put in the field (who Hannibal was). His cavalry commander, Maharbal, begged him to ride for Rome that night.
Of a truth the gods have not bestowed all things upon the same person. You know how to conquer, Hannibal; but you do not know how to make use of your victory.
Livy may have polished the line, and Hannibal had his reasons: no siege engines, and a walled city with men to defend it. The deeper problem was that his whole strategy needed Rome to give up. Rome never did.
A fountain of soldiers
Polybius lists the men Rome and its allies could put under arms in 225 BC: more than 700,000 foot and 70,000 horse. Hannibal came down from the Alps with about 26,000. Every army he destroyed was replaced. Plutarch had seen the same thing in Rome’s earlier war with King Pyrrhus.
The army of the Romans, as if from a fountain gushing forth indoors, was easily and speedily filled up again.
After Cannae the Senate would not discuss peace, and would not even ransom the Roman prisoners Hannibal offered back. It armed teenagers, debtors and slaves bought by the state. Polybius stops his narrative at this point to describe the Roman constitution, which he believed explained the recovery.
The allies held
Hannibal freed Italian prisoners without ransom, hoping their cities would switch sides. Some did. Capua, the second city of Italy, opened its gates, and much of the south followed. But the Latin colonies and central Italy stayed loyal. In 211 BC Hannibal marched to within sight of Rome to pull the legions away from Capua. The siege went on, and Capua fell. Even in 209 BC, when twelve of the thirty Latin colonies said they had no more men to give, the other eighteen kept sending soldiers. Meanwhile Fabius’s slow war, shadowing Hannibal and refusing him an open battle, wore his army down.
Carthage could not feed the war
Rome ruled the sea, so Carthage could rarely ship him men or supplies. At home, Hanno and the peace party had opposed the war from the start. When Hannibal’s brother Mago poured out the gold rings of dead Roman knights at the doors of the Carthaginian senate house, Hanno asked whether a single Latin town had come over. In 209 BC Scipio stormed New Carthage, and Spain’s silver and recruits were lost. In 207 BC Hannibal’s other brother, Hasdrubal, crossed the Alps with a relief army and was crushed at the Metaurus. The Romans threw his head in front of Hannibal’s outposts.
Zama and the peace of 201 BC
In 204 BC Scipio landed in Africa, with the Numidian prince Masinissa now on Rome’s side, and Carthage called Hannibal home. At Zama in 202 BC Scipio left lanes in his lines, Hannibal’s 80 elephants ran harmlessly through them, and Roman and Numidian cavalry fell on his rear: Cannae in reverse. Hannibal himself told Carthage to accept the peace. It gave up Spain, its elephants and all but ten warships, owed 10,000 talents over fifty years, and could make no war without Rome’s permission. He had lost to a city that could lose battle after battle and still not lose the war.
Sources
- Polybius, Histories 2.24 (Roman manpower), 3.117–118, 6.58 and 15.9–19
- Livy, History of Rome 22.51, 22.57–61, 23.11–13, 26.7–16, 27.9–10, 27.43–51 and 30.29–37
- Plutarch, Life of Pyrrhus 21 (trans. B. Perrin)
- Adrian Goldsworthy, The Punic Wars (2000)