Нерон, жаждавший вернуться к основной части своего войска до того, как Ганнибал обнаружит его отсутствие и перейдет в наступление, в ту же ночь пустился в обратный путь. Преодолев 250 миль за шесть дней, он добрался до своего лагеря. Первые известия о поражении своего брата Ганнибал получил, когда голова Газдрубала была переброшена через ограду его лагеря.
Сражение при Метавре стало поворотным пунктом в войне (Кризи называет его среди «пятнадцати решающих сражений во всемирной истории»), после которого карфагеняне никогда до конца так и не оправились. Ганнибал отступил в Калабрию, где ему удалось продержаться еще четыре года, пока его не отозвали обратно в Африку, чтобы организовать там отпор римскому вторжению. Сципион, недавний герой своего триумфа в Испании, стал консулом и в 205 году до н. э. предложил повести армию в Африку. То обстоятельство, что Ганнибал все еще находился в Италии, вызывало некоторые сомнения, но предприятие это было одобрено сенатом, и в 204 году Сципион высадился в Африке, имея под своим началом не более 30 000 человек. Два из его легионов, переживших разгром под Каннами, служили с тех пор на Сицилии и пребывали в полуопале. Приток новобранцев увеличил численность этих легионов на 6500 человек. В армию Сципиона влились испытанные ветераны былых сражений, благодарные за одну только возможность восстановить свою репутацию.
Успешное продвижение Сципиона побудило «партию мира», которая всегда была влиятельна в Карфагене, начать поиски перемирия. Но патриоты в конце концов взяли верх и призвали на родину Ганнибала. Он прибыл в Африку (203 до н. э.) после тридцатишестилетнего отсутствия и начал формировать армию. Масинисса, старый друг и соратник Ганнибала, был отвергнут карфагенянами из-за раздоров с принцем-соперником и перешел на сторону римлян. Затем его соперник был захвачен войсками Сципиона, а Масинисса стал царем всей Нумидии. Его участие в битве под Замой с 6000 всадников и 4000 пехотинцев обеспечило Сципиону преимущество в коннице и в значительной степени способствовало победе римлян.
Сражение при Заме (202 до н. э.) стало последним эпизодом в долгой драме. Силы Ганнибала, как можно предположить, несколько превышали 50 000 человек, армию Сципиона можно оценить приблизительно в 36 000 человек, в том числе 10 000 составляли нумидийцы. Ганнибал построил пехотинцев в три линии, его ветераны из Италии занимали третью линию и служили резервом. В его армии было 80 слонов, которых он равномерно распределил по всему фронту. Конница располагалась на флангах. Сципион поставил в центре два своих легиона из числа ветеранов (и еще примерно такое же количество италийских союзников), римская конница находилась на левом фланге, а Масинисса со своими нумидийцами на правом. Учитывая наличие у противника 80 слонов, Сципион изменил обычное построение манипул: вместо второй линии,