У останній битві біля Зами у 202 р. до н. е. Ганнібал зазнав першої, але вирішальної поразки, і сам запропонував уряду укласти мир з ненависним йому особисто Римом. За договором Карфаген втратив Іберію і усі інші позаафриканські володіння, визнавав незалежність Нумідії — при цьому без чіткого позначення її кордонів, відмовився від флоту і права самостійно вести зовнішню політику та ще й сплатити величезну контрибуцію (201 р. до н. е.).