Il fatto è riferito da Diodoro nei frammenti, e da Appiano; Livio ne tace, come di molti altri. Fra Catanzaro e Reggio si trovano le tracce del passaggio di Annibale, del quale gli Italiani conservarono lungamente memoria d'orrore. Cartagine non appena vide il grande generale, riprese la baldanza; fallendo la tregua invocata, malmenò alcune navi romane sospinte dalla tempesta, e tentò mandare a male gli ambasciatori venuti a richiedere la pace. Annibale però non aveva fretta di vincere; e quando quei mercanti lo sollecitavano alla battaglia, rispondeva: «Attendete a' fatti vostri; il soprassedere o accelerare è affare mio». Abboccatosi con Scipione, offrì di cedergli Sicilia, Sardegna e Spagna, ma questi non accettò: a Zama si fece giornata, e benché Celti e Liguri, che erano un terzo dell'esercito, compattezzero col loro odio insito nella razza gallica contro la romana, ed Annibale vi adoprasse tutta l'arte e il coraggio, la vittoria restò ai Romani. Allora in Cartagine i negozianti prevalsero, e chiesero la pace; e Scipione, conoscendo la difficoltà di espugnare la nemica, o non volendo che un console successore finisse l'impresa da lui si era bene avanzata, la concise, ma a duri patti: Cartagine conserverà il territorio e il governo suo, consegnando i prigionieri e i disertori, gli elefanti e le navi, eccetto le triremi; pagherà fra cinquant'anni diecimila talenti; non imprenderà guerra né solderà mercenari senza il consenso di Roma; restituirà a Massinissa quanto gli avevano posseduto gli avi di lui, e lo terrà alleato; darà cento statue. I desolati latini furono decapitati, crocifissi i romani; l'erario di Roma risanguato con ventimila libbre d'argento. Cartagine si vide rapiti e incendiati i figli, mostrano la Torre d'Annibale, ov'è tradizione ch'egli s'imbarcasse. 