Senza rifornimenti e rinforzi da Cartagine e senza riuscire a far sollevare le popolazioni del centro Italia contro Roma, Annibale si ritrovò praticamente assediato sui monti della Calabria dove, in seguito, gli giunse l'ordine di Cartagine di tornare in Africa per portare aiuto contro Publio Cornelio Scipione (chiamato poi l'Africano). Costui infatti, contro il volere del Senato, guidato da Quinto Fabio Massimo che riteneva prioritario estromettere Annibale dalla Penisola, in qualità di proconsole della Sicilia e aiutato dalle città italiche, partì per l'Africa attaccando direttamente Cartagine. La città punica si vide costretta a richiamare Annibale che rientrò in patria dopo 34 anni di assenza. Nel 202 a.C. a Naraggara, nei pressi di Zama, Scipione volse contro Annibale la sua stessa strategia e lo sconfisse, determinando la fine della seconda guerra punica.