Hannibal Barca was Rome’s Greatest Enemy – But He Couldn’t Win the War for Carthage

Hannibal Barca inflicted one of the worst defeats ever suffered by the Roman army at the battle of Cannae. Nearly 70,000 men were killed in the heart of Italy by Hannibal’s much smaller army. But Cannae was far from the only disaster that Rome suffered in the early years of the Second Punic War. Hannibal played on the Roman generals’ over-aggression at the battle of the Trebia River and ambushed the Romans after they crossed a freezing river.

The next year (217), Hannibal hid his entire army in the hilltops near Lake Trasamine and essentially annihilated the pursuing Roman army. Cannae would absolutely decimate the Romans only a year later, why then, if Hannibal won all these battles, did he fail to win the war? Let’s break down the reasons.

Hannibal Was Not The Greatest At Sieges And Assaults

Hannibal’s cavalry commander, Maharbal, supposedly uttered the famous phrase: “Hannibal, you know how to gain a victory, but not how to use one.” This came after Hannibal declined to besiege Rome following his victory at Cannae. A major reason for this was that Hannibal was far less skilled at sieges than field battles.

One of Hannibal’s earliest city assaults was against the Iberian city of Saguntum. Here Hannibal had hoped to take the Roman-leaning city quickly so that he could invade Italy without an enemy at his back. Initial assaults failed, and the siege ran on far longer than Hannibal had hoped. Eventually, he threw as many men as he could into an assault, and the city was finally taken by storm, but it cost Hannibal’s army nearly 10,000 casualties in the process.

Hannibal_route_of_invasion-en.svg (1)
By Abalg/Pinpin – CC BY-SA 3.0


Hannibal did try to take advantage of his success after Cannae by assaulting the town of Nola in Italy. The small, fortified supply town was fiercely defended by general Marcellus of Rome, and Hannibal was repulsed from Nola three separate times between 216 and 214. Even Hannibal’s most successful assault on Tarentum was due to treachery, and even then the defenders held the citadel for years and eventually broke out and recaptured the main city.

Even In Success, Hannibal Could Not Get Carthaginian Aid

Hannibal invaded Italy in 218 BCE, and remained in the boot of Italy for fifteen years, leaving only to confront Scipio in Africa in 203 BCE. Despite winning several massive victories, he was only officially resupplied once, and only two other Carthaginian armies made it to Italy during the war (though none could link up with Hannibal). There are two main reasons for the Carthaginian’s lack of support for their most successful general.

First, Carthage mainly left Hannibal to his own devices. Hannibal had essentially provoked the war to begin with and the plan to invade Italy was his own. Carthage no doubt enjoyed his success, but ultimately they were more concerned with holding on to their wealthy territories in Spain and trying to win back Sicily and Sardinia. At one point there were three full Carthaginian armies in Spain while Hannibal was still wandering Italy, winning victory after victory.

Had Carthage made more of an effort to give Hannibal men, the extra forces may have been enough for Hannibal to carry out more decisive actions. Even the main army sent to Italy near the end of the war was only sent after losing a battle in Spain.

Crossing the Alps was a risky move, but under the circumstances, it was the best plan of action Hannibal could have taken.
Crossing the Alps was a risky move, but under the circumstances, it was the best plan of action Hannibal could have taken.


Secondly, even if Carthage had definite plans to reinforce Hannibal, and the above interpretation may be too harsh towards Carthaginian strategic planning, they would have a difficult time doing so. Carthage had always been a dominating naval power, but the titanic sea struggles of the first Punic War exhausted their navy while giving the Romans naval experience and a new understanding of the importance of naval dominance.

By the time of the second war, Rome’s navy ruled the Western Mediterranean. They had more ships and better crews. A few early Roman naval victories over the Carthaginians of the coast of Spain proved this. Carthage was able to slip one naval supply through to Hannibal, but it was far too risky to do so on a regular basis, any ships captured would only serve to strengthen Rome’s naval power even more. This was also why the resupplying armies had to come in from the north, which gave the Romans an opportunity to intercept them as they did at the pivotal battle of the Metaurus.

Other Carthaginians Just Didn’t Pull Their Weight

A marble bust, reputedly of Hannibal. Found in Capua.
A marble bust, reputedly of Hannibal. Found in Capua.

Roman armies excelled in a standard battle; a  Roman legion was like a buzz saw, churning through enemy formations. Even Hannibal had trouble with this in his first major battle against them at Trebia. Hannibal was able to adapt and turn the Romans advantages against them, but other Carthaginian commanders just didn’t have the skill.

In almost every battle where Hannibal wasn’t present, the Carthaginians lost. The only exception is the Battle of the Upper Baetis, but the Roman defeat was due to the desertion of 20,000 Iberian Mercenaries, who joined the Carthaginians on the very eve of battle. Hasdrubal Barca, Hannibal’s brother, won that battle, but he fared far worse in every other encounter.  Even on the island of Sardinia, the Romans faced an island-wide pro-Carthaginian revolt.

A full-sized Carthaginian army was sent to the island and doubled in number (we don’t know for sure, but there were a lot of rebels) with the rebel forces. They vastly outnumbered the Roman army sent to quell the rebellion, but the Romans still prevailed. It is hard to win a multi-army war when only one army actually wins.

Hannibal’s Plan Had One Fatal Flaw

Carthaginian war elephants engage Roman infantry at the Battle of Zama.
Carthaginian war elephants engage Roman infantry at the Battle of Zama.

Hannibal had planned the invasion of Italy and his strategy for beating Rome for many years before the war even broke out. Rome had won the first Punic War by simply outlasting the Carthaginians in men and resources. The Romans had a potential manpower pool of around 700,000 men and were determined to win total victory no matter the cost. Hannibal knew that invading Italy was his best chance.

The 700,000 number is accounting for the vast number of Italian allies of Rome. Hannibal hoped that by winning great victories in the heart of Italy, he could bring some of that 700,000 away from Rome and have them ally with Carthage. Ideally, the beating he would give to the Romans on their home turf, and the desertion of their allies should force Rome to surrender.

It was a sound strategy and better than anything the Carthaginian government would come up with, but Hannibal didn’t account for the sheer willpower of the Romans and the fearful respect of their allies. At the height of his success, Hannibal had just won at Cannae, killing over 100,000 men over the course of his Italian campaign. Almost all of southern Italy, including the very powerful city of Capua, deserted Rome and sided with Hannibal. Though there was panic, the strategic aim of the Romans remained unchanged.

They focused on winning back their allies, ruthlessly sacking treasonous cities and massacring populations, creating such a fear that many cities, who deserted Rome, came back to their Roman allies. Losing 15% of the total possible manpower would equate to tens of millions dead for a modern populated country like the U.S.A., yet the Romans continued. Hannibal was truly an amazing general, and he did everything in his power following solid strategic plans, but he just couldn’t get it done on his own.

By William McLaughlin for War History Online

William Mclaughlin

William Mclaughlin is one of the authors writing for WAR HISTORY ONLINE