La sconfitta di Zama.
Annibale, senza essere mai stato sconfitto, fu richiamato in patria dall'Italia e a quel punto guidò la guerra contro P. Scipione, figlio di quello Scipione, che egli stesso aveva messo in fuga, una prima volta presso il Rodano, di nuovo presso il Po e per la terza volta presso il Trebia.
Con quello, poiché ormai le risorse della patria erano state consumate, desiderò pacificare la guerra per un po', per scontrarsi successivamente una volta rafforzatosi.
Partecipò ad un incontro, ma non concordarono le condizioni. Pochi giorni dopo questo episodio si scontrò con quello presso Zama: fu messo in fuga; due giorni e due notti dopo giunse ad Adrumeto, che dista da Zama circa trecento miglia.
Durante quella fuga i Numidi, che si erano ritirati dal campo di battaglia insieme a lui, gli tesero un agguato e non solo sfuggì loro, ma li uccise anche. Ad Adrumeto radunò i rimanenti dalla fuga, e con nuovi arruolamenti in pochi giorni mise insieme molti uomini.