During the battle of Zama, Hannibal's infantry significantly outnumbered Scipio's, while Scipio's cavalry significantly outnumbered Hannibal's. Early in the battle, the Roman cavalry drove the Carthaginian cavalry off the field.
It seems like a forgone conclusion that the superior Roman cavalry would have returned to the field at some point -- either by defeating the Carthaginian cavalry or by breaking off the chase. Therefore, Hannibal was essentially working with a time limit -- he had to defeat the Roman infantry before the cavalry returned, or the battle was lost.
From what I've read of the battle, though, Hannibal didn't seem to be looking for a quick resolution. As I understand it, his plan was to attack with each of his three lines in succession, in order to wear the Romans down. This seems like it would be an inherently slow process.
Why didn't Hannibal, for example, try to use his numerical superiority to outflank the Romans? Or, towards the end of the battle, when both armies had paused to reform their lines, why did Hannibal wait for the Romans to resume their attack, rather than pressing the attack himself? I'm no expert on military matters, and I'm sure Hannibal had a reason for conducting the battle in the way he did. What might those reasons be?
Ooh, Zama! Good question. I think I should prelude the answer to this with a lesser-known battle, one which I consider Scipio’s Cannae, the Battle of Ilipa, and how it influenced Hannibal’s decisions. Around the town of Ilipa, modern day Seville, Hasdrubal Gisco, son of Gesco, (not Barca, by the way.) began entrenching himself in preparation for battle. On his side, around 55-74 thousand men, with 32 war elephants, and around 4-4.5 thousand cavalry. While this happened, Publius Cornelius Scipio sent off either Marcus Junius to rally readied troops for Scipio. After which, he sends his field commander Silanus to preemptively attack the Carthaginians. However, Scipio’s readied troops turned out to be generally pretty green. They were absolutely not sufficient enough in number or experience to risk a direct confrontation. Thus, a genius move must be made. Fortunately for Scipio, Mago Barca’s army was caught completely off guard and Mago himself was captured by Silanus’ measly force of around 3500 soldiers, consisting of around 3,000 infantry, and 500 horsemen. From there on, Scipio had only one adversary, Hasdrubal Gisco.
When Scipio arrived at the scene, he had seen what I previously mentioned: his troops were crap. However, depending on which historian you believe, the two sides were either equal, (livy) or the Romans were vastly outnumbered. (polybius) I personally believe Livy a lot more here, because Polybius tends to get a little carried away when it comes to numbers, but, regardless, the Romans are still at a disadvantage training-wise and experience-wise.
Anyways, remember how I said a genius plan needed to be hatched? Well, Scipio did just that. If you’re familiar with how battles go, the two armies will generally just stand there… menacingly… for days. However, Scipio deployed in a different formation than he planned to at the end of the day, with the assumption that Hasdrubal was merely testing him and observing the formation the Romans planned to take. He wanted to change the Carthaginian formation into something more malleable, and Hasdrubal bit the proverbial worm on the hook. Interestingly enough, Scipio presented a formation with a strong center, weak wings. On the following day, the day which Scipio planned to attack, he reformed into a formation with… you might have guessed it, weak center, strong wings. If you know Cannae, this should be familiar and be telling about what’s going to happen.
Scipio advances his velites, lightly armored skirmishers, to the middle of the engagement ground. However, when they reached this point, unlike Cannae, the velites stayed back a little, while the Roman wings advanced, and began pushing the sides towards the center, where the brunt of Carthaginian forces were. Eventually, the Carthaginians were surrounded on both sides, causing a loss of around 50,000 either dead or captured, while Hasdrubal escaped. To put it into perspective, Cannae saw the loss of around 68-85,000 Romans (although many more politicians died on the Roman side during Cannae). This was a huge blow to Carthaginian efforts in Iberia. This battle was amongst the final nail in the coffin for Carthaginian Iberia, and bringing in Roman subjugation of Iberia.
Now, to the actual question. Zama played out this way for very, very specific reasons, Ilipa being pretty huge amongst them.
I’m gonna explain prelude information for Zama (until the elephant charge) (formation, numbers, etc.), so if you know this information, please feel free to skip the next two paragraphs.
Publius Cornelius Scipio had around 35,000 troops, consisting of Numidian Cavalry, and the current maniple structure, wherein the Hastati are in the front line, Principes next, and Triarii last. Of the 35,000, there were 29,000 infantry, and around 6,100 cavalry. On Hannibal’s side, he had around 80 war elephants according to Appian. (A side note about Appian: please, please, please, do not take Appian to be a tactician. He claims that Scipio and Hannibal engaged in one-on-one combat during the battle, which, frankly, is absurd.) Furthermore, Hannibal had around 40,000 men, 36,000 of which were infantry, and the other 4,000 was cavalry. Hannibal deployed his men in a similar manner to Romans, his first line consisting of Celtic, Iberian, and Balearic mercenaries. His second line was a citizen army, and his third line, a little further back than the previous two, were his veterans from his Italian campaign.
It’s not entirely clear whether or not Hannibal’s elephants on his left charged accidentally or on purpose, but when the left ones charged, Scipio ordered several bugles to play, terrifying the elephants into ravaging his left wing. After this happened, the Romans defeated the Elephants by opening small corridors, and just throwing javelins at them. After the elephants were beginning their onslaught on the left wing, consisting of Carthaginian Cavalry, the Roman right wing made up of Numidian cavalry charged, seeing a grand opportunity. Then, the Roman left charged, defeating the Numidian cavalry on the right. If I recall correctly, it’s not entirely clear if the rout was just buying Hannibal time, or if the Cavalry was trained to lead them away from the battle.
After this, the first two Carthaginian lines advanced, but the Mercenary line was the only one to engage thus far. The Hastati were able to start pushing the Mercenaries back, and then Hannibal committed his second line, stopping Roman momentum. After which, the principes are committed partially, and Hannibal’s first two lines rout. (Take note of this moment, I will explain why Hannibal didn’t commit his third line.) Due to losses on the Roman side, as you say, they reform their battle line. However, as both sides didn’t really have enough men to do anything fancy, Scipio made a weak center, strong wings, or a Cannae-like formation, expecting to encircle the enemy like he had done at Ilipa. However, the middle on this formation was what was left of the hastati, and some principes. After that, the cavalry returned, and the Romans won the battle.
Let’s take a step back really quickly. Hannibal didn’t commit his third line solely to avoid what happened at Ilipa to Hasdrubal Gisco. If the Romans had encircled the Carthaginians earlier, the third line would have been committed, becoming a contravallation to Scipio’s circumvallation. Also, if the third line had been committed without thinking of Ilipa, it could have ended the same way. Plus, this group was essentially fresh at this point, and arguably one of the most experienced groups in human history. They hadn’t broken a sweat at this point, and if not for the cavalry, it’d likely have been a stalemate or a Carthaginian victory. Consequently, that leads me, personally, to believe that the cavalry was trained to lead the enemy cavalry away in the event of a rout.
So, in short, Hannibal wanted to avoid encirclement, and, in turn, possibly could have just ignored the Roman cavalry altogether due to Hannibal's assumptions regarding their distance away from the battle.
Sources
Adrian Goldsworthy, In the Name of Rome...
Adrian Goldsworthy, The Punic Wars.
Adrian Goldsworthy, The Entire Roman Army.
Polybius, Histories.
Livy, The History of Rome
Appian, Appian’s Roman History