Для защиты города в Карфаген был срочно вызван Ганнибал, который воевал на протяжении шестнадцати лет в Италии против римских войск. Под его командованием пунийские войска подошли к древнему городу Заме, расположенному в ста двадцати километрах юго-западнее Карфагена. Здесь весной 202 года до н э. и произошло сражение, положившее конец 2-й Пунической войне. По численности обе армии – римская и карфагенская – были приблизительно равны, но римляне превосходили противника по численности конницы в три раза, благодаря переходу на их сторону войск нумидийского царя Масиниссы.
Перед началом сражения произошла личная встреча двух великих полководцев – Ганнибала и Сципиона. В сопровождении только переводчиков они беседовали на полосе, разделяющей две стоящие друг против друга армии, но договориться о мире им не удалось. А на рассвете следующего дня началась битва. Ганнибалу не повезло: весь его план сражения был разрушен его же боевыми слонами, которых он решил использовать в битве. Животные, вероятно, испугались звуков труб и громких воинских криков. Они стали метаться, разметав на флангах карфагенскую конницу, а та, в свою очередь, при отходе врезалась в ряды тяжеловооруженной пехоты и смяла строй. Римляне также направили основной удар против этой части карфагенских войск, которая, отступая под их натиском, опрокинула ряды стоящих за ними своих же солдат. Разгром армии Ганнибала завершила нумидийская конница, вышедшая ей в тыл. После битвы при Заме, потеряв войска, Карфаген был вынужден согласиться на условия мира, предложенные Сципионом. По ним за Карфагеном сохранялись только владения на территории Африки, он лишался всего флота и в течение пятидесяти лет должен был выплачивать Риму контрибуцию в размере 10 тысяч талантов. Условия мира с Римом подписали 30 знатнейших карфагенян, прибывших в лагерь Сципиона в качестве послов.
Рим встретил Сципиона всенародным ликованием. Ему был устроен грандиозный триумф, после которого он получил к своему родовому имени приставку «Африканский».
В дальнейшем он занимал ряд видных государственных постов, и в 190 году до н э. как легат был направлен в Сирию. Он заключил выгодный для Рима мир с царем Антиохом III после победы римлян в битве при Магнесии. Брат Сципиона, Луций, как военачальник тоже получил триумф и добавил себе к имени приставку «Азиатский».