PLJoin the list

Hannibal vs Alexander the Great: who was the greater general?

Military history · Head to head · ~6 min read · Updated October 2026

Hannibal's army encircling the Romans at Cannae

Ask who was the greatest general of the ancient world and two names come up again and again: Alexander the Great, who conquered an empire and never lost a pitched battle, and Hannibal, who crossed the Alps and brought Rome to the brink with the finest tactical mind of the age. Here they are, side by side.

Head to head

HannibalAlexander the Great
Lived247 to 183 BC1356 to 323 BC2
RoleCarthaginian generalKing of Macedon and conqueror
Greatest victoryCannae, 216 BCGaugamela, 331 BC
Famous forCrossing the Alps and shattering Rome's armies in ItalyConquering the Persian Empire
Battle recordWon every major battle until ZamaNever lost a major battle
UndoingBeaten at Zama in 202 BC, later exiled; took poison1 c. 183 BC rather than be handed to RomeDied at 32; his empire split among his generals
Lasting legacyThe model of tactical genius; Cannae is still taughtThe Hellenistic age and the model of the conqueror

Alexander: the undefeated conqueror

Alexander the Great inherited a superb army and, in barely a decade, destroyed the Persian Empire and marched to India3, winning every major battle including Gaugamela in 331 BC. He fought as a king with the full resources of a state behind him, and his weakness was what came after: he died at thirty-two and his empire fell apart among his generals2.

Roman mosaic of a battle with a Persian chariot and horsemen
Detail of the Alexander Mosaic from the House of the Faun in Pompeii, about 100 BC, showing the battle of Alexander and Darius III (Naples Archaeological Museum). CC0 (public domain)

Hannibal: genius without a state behind him

Hannibal crossed the Alps into Italy and, at4 Cannae in 216 BC, surrounded and destroyed a much larger Roman army5 in the most admired tactical masterpiece in history. Yet he fought for years far from home with little support from Carthage, and when he was finally recalled he was beaten by Scipio at Zama in 202 BC and lost the war.

Battle map of the Carthaginian encirclement of the Roman army at Cannae
The destruction of the Roman army at Cannae in 216 BC: Hannibal's forces (blue) close around the Romans (red). Map after the Department of History, US Military Academy. Public domain

The verdict

Alexander achieved more: an empire won outright, an unbroken record, all before he was thirty-three. Hannibal fought at a permanent disadvantage, without the backing of his own state, and still came closer to breaking Rome than anyone before Rome broke him. By a famous ancient anecdote, Hannibal himself is said to have ranked Alexander the greatest6 of all commanders. As a pure battlefield tactician few have ever matched Hannibal; as a conqueror, none of his era matched Alexander.

Historical map of Alexander's empire from Greece and Egypt to the Indus
The Macedonian Empire of Alexander, 336 to 323 BC, from William R. Shepherd's Historical Atlas (1911). Public domain

Compare more in Hannibal vs Scipio and Alexander vs Caesar, or meet the field in the greatest military commanders.

Sources

Each commander above has a full biography on this site, with its own sources. Judgements of who was "greater" are ours and openly a matter of debate; the facts and dates follow established histories. See our editorial approach.

Frequently asked questions

Who was the greater general, Hannibal or Alexander?

Alexander conquered more and never lost a pitched battle, fighting as a king with a state behind him. Hannibal, with far less support, produced the most admired tactical victory in history at Cannae. Many rate Alexander the greater conqueror and Hannibal the finer battlefield tactician.

Did Hannibal and Alexander ever meet?

No. They were born more than a century apart, Alexander in the 4th century BC and Hannibal in the 3rd, so they never faced each other.

Did Hannibal ever lose a battle?

Yes. After years of victories in Italy he was recalled to Africa and beaten by Scipio Africanus at Zama in 202 BC, which ended the Second Punic War.4

Did Alexander ever lose a battle?

He never lost a major pitched battle in his career. His empire broke up only after his early death, not through defeat in the field.

Who did Hannibal think was the greatest general?

By a famous anecdote in the ancient sources, Hannibal ranked Alexander the Great first among commanders7, though Plutarch's Life of Pyrrhus has him put Pyrrhus first. The story is often retold, though it cannot be confirmed.

Sources and notes

Numbered notes in the text point to the works below.

  1. World History Encyclopedia (Joshua J. Mark), “Hannibal” ↩ a b
  2. Encyclopaedia Britannica, “Alexander the Great” ↩ a b
  3. A. B. Bosworth, Conquest and Empire: The Reign of Alexander the Great (Cambridge University Press, 1988). ↩
  4. Polybius, Histories, Book 3: crossing of the Alps 3.50 to 56; Cannae 3.107 to 117. Book 15: Zama 15.9 to 14, peace terms 15.18. Loeb translation online at LacusCurtius. ↩ a b
  5. Adrian Goldsworthy, The Punic Wars (Cassell, 2000). ↩
  6. Livy, History of Rome (Ab Urbe Condita), 35.14: the conversation of Hannibal and Scipio at Ephesus, reported from Acilius via Claudius; Hannibal ranks Alexander first, Pyrrhus second, himself third. ↩
  7. Plutarch, Parallel Lives: Flamininus; Pyrrhus, Flamininus 21: Hannibal ranks Alexander first, Pyrrhus second, himself third; Pyrrhus 8 gives a variant with Pyrrhus first and Scipio second. Loeb text online at LacusCurtius. ↩

Take the field with the great commanders

Echoes of Battle brings the great battles of history to life, scene by scene on the real map. Join the list to be first when it launches.

Or support the app on Ko-fi ›