Все складывалось для него некстати: зависть знатных карфагенян, ненависть взбунтовавшихся нумидийцев, жажда мести римлян и даже немилость родной природы, помогавшей Сципиону — не Ганнибалу, который не был на родине более тридцати лет.
Решающее сражение состоялось 19 октября 202 года до нашей эры на равнине между городами Зама и Нарагарра в пяти днях пути от Карфагена. По преданию, Ганнибал перед началом сражения пытался вступить со Сципионом в переговоры, но успеха это не принесло (многие современные историки считают этот рассказ выдумкой). Великий воин смиренно говорил римскому консулу: "Надо же было судьбе допустить и такую насмешку, чтобы, взявшись за оружие в консульство твоего отца… я теперь, безоружным, пришел к его сыну просить мира… Чем я был при Тра-зимене и при Каннах, тем сейчас являешься ты… Всякому счастью, чем оно больше, тем менее следует верить… Мы не отказываемся признать вашим все, из-за чего началась война, Сицилию, Сардинию, Испанию и все острова, находящиеся между Африкой и Италией… Я, Ганнибал, прошу мира" (Тит Ливий). Сципион хотел большего, но добыть новых уступок можно было только мечом. "Вероятно, Ганнибал, — предположила Т.А. Бобровникова, — принял бы теперь любые условия. Но Карфаген никогда не пошел бы на это. Оставалось принять вызов".
Накануне сражения Сципион разместил свой лагерь на холмах. Карфагенянам пришлось остаться посреди равнины, лишенной воды. В их войске было 45 тысяч пехотинцев и 3 тысячи кавалеристов, но большую часть его составляли необученные рекруты. Особенно слаба была кавалерия — род войск, когда-то принесший Ганнибалу много побед. Готовясь к сражению, Ганнибал послал в римский лагерь лазутчиков; их поймали. Сципион велел провести их по лагерю, а потом отпустить к Ганнибалу. Пусть тот убедится, что Сципион, как никогда, уверен в своей победе.
Между тем воины Ганнибала начали страдать от жажды. Всю ночь они рыли колодцы, но находили в них лишь немного мутной воды. Заметив это, Сципион на рассвете направил войска в бой. Вместе с римлянами в атаку шла нумидийская конница под командованием царя Масиниссы, злейшего врага карфагенян. Выходя на бой, римляне помнили, что в случае поражения им некуда будет отступать, всюду их встретят враги. Тем решительнее они сражались под палящими лучами солнца.
Битва началась с того, что римляне сигналами труб и рожков напугали слонов и обратили их в бегство. Среди карфагенян вспыхнула паника; дрогнула и смешалась конница. Вслед за слонами, из облака пыли, уже показались римские всадники. Их было почти в два раза больше, чем карфагенских конников. Римляне и нумидийцы погнали с поля кавалерию Ганнибала. Рассеяв ее, они вернулись, чтобы нанести удар по "гвардии Ганнибала" — италийским ветеранам. Часть карфагенской армии была окружена, часть истреблена, хотя ветераны проявили удивительную стойкость. Они погибли, но не сдались. Finis Carthaginiensium!
В этом сражении Сципион показал себя примерным учеником Ганнибала; он победил карфагенянина за счет флангового обхвата — так, как чаще всего побеждал Ганнибал. Не случайно Сципион выбрал местом сражения равнину, где было особенно удобно проводить подобный маневр. Решающий удар, как и в дни побед Ганнибала, нанесла кавалерия.
(В.А Жуковский)
По словам Аппиана, "на поле боя осталось 20 тысяч мертвых карфагенян" (Полибий говорил о 10 тысячах погибших), и не меньше 15 тысяч попало в плен. Римляне потеряли полторы тысячи человек убитыми. (Впрочем, историки считают эту цифру преуменьшенной.)
Сам Ганнибал вместе с одним всадником, которому больше всего доверял, бежал в Хадрумет, находившийся в двухстах километрах от поля битвы. Никаких резервов у него больше не было. Вплоть до ворот города его преследовал Масинисса, мечтавший взять великого полководца в плен.
Одержав победу, Сципион отослал в Рим огромную добычу: десять талантов золота, 2500 талантов серебра, слоновую кость и знатных пленников. Сам же, располагая 70 кораблями, попытался организовать морскую блокаду Карфагена, а затем вступил в переговоры с карфагенянами, запросившими мира. Тридцать самых знатных людей города пришли смиренно поклониться Сципиону. Капитуляция Карфагена была неизбежна, ведь у Республики не было больше войск. Двадцать лет без мира оставили державу без армии.
Сципион тоже спешил заключить мир, не дожидаясь осады Карфагена. Ему сообщали, что плодами его побед вот-вот воспользуются другие. Многие видные римляне хотели сместить его и возглавить армию, чтобы стать победителями давно побежденного Ганнибала. Сципион хорошо знал, сколько завистников готовилось вырвать у него венок триумфатора.