Карфаген же, оставшись без армии, вынужден был просить Сципиона о мире. Чтобы смягчить героя, карфагеняне привели в лагерь римлян нескольких пленников, изменников и беглых рабов. Они согласились на все условия Сципиона и заключили мир. Но единовременно с этим карфагеняне отослали гонцов к Ганнибалу с требованием быстро вернуться в Африку, ведь они не собирались соглашаться с миром, а просто тянули время, и сам Сципион невольно дал им такую возможность. Он приказал выслать послов в Рим к сенату для заключения мира. Получив указ возвратиться в Африку, Ганнибал взял своих солдат и отправился в путь. К осени 203 года до н. э. он достиг Лептиса с 24-тысячной дружиной и расквартировал собственную дружину в Гадрумете. В течение зимы он усиленно готовился к началу кампании. Ганибал делал запасы хлеба, покупал коней, заключал союзы с нумидийскими племенами…
Как только карфагеняне узнали, что Ганнибал оставил Италию, они расхрабрились. В то же время, в поддержку Сципиону из Сардинии отплыл Гай Октавий — он вел 200 грузовых и 30 военных кораблей, но его флот попал в шторм. Алчные пунийцы не могли упустить такую возможность собрать уцелевших и оружие с потерпевших крушение кораблей. Срочно к месту несчастья тронулся флот из 50 кораблей.
Ганнибал успешно переправился в Африку и вновь шагнул на родную почву, которую оставил, когда был почти ребенком. Его появление придало Карфагену сил. В состоянии эйфории они даже простили Гасдрубала, который был заочно осужден на смерть за поражения, и в настоящий момент блуждал по Ливии. Последний также вернулся в Африку и поселился в Карфагене, стараясь не показываться на глаза согражданам. Карфагеняне о нем вспомнили после очередной военной неудачи и все же приняли решение казнить. Гасдрубала разыскивали по всему городу, но тот отравил себя сам в гробнице своего отца. Впрочем, сенату этого показалось мало — труп Гасдрубала вытащили из гробниц и, отрубив ему голову, стали носить ее на копье по городу. Так умер военачальник, множество лет сражавшийся за Карфаген в Испании и Африке.
Но пока карфагеняне всеми силами старались противостоять Риму. Магону также было приказано как можно скорее возвратиться в Африку. Магон, который в течение трех лет готовил в северной Италии коалицию против Рима, был разбит на территории инсубров (подле Милана) двумя гораздо более многочисленными римскими армиями.
Ганнибал, вероятно, и сам понимал, что нужно вернуться в Африку. Приказание об отъезде застало его в Кротоне, где он находился в последнее время. Полководец приказал заколоть своих лошадей и лишить жизни тех италийских солдат, которые не хотели следовать за ним за море, и отплыл на транспортных судах, уже давно стоявших наготове на кротонском рейде. Римские граждане вздохнули свободно, когда узнали, что могучий ливийский лев, которого никто не был в состоянии вытеснить из Италии, добровольно покинул италийскую территорию. По этому случаю сенат увенчал венком из листьев уже почти достигшего девяноста лет Квинта Фабия, единственного оставшегося в живых римского полководца из числа тех, которые с честью выдержали испытание армией Ганнибала. Получить венок, который, по римским обычаям, подносила армия спасшему ее от поражения полководцу, считалось очень почетным! Впрочем, в том же году Фабий умер.
А Ганнибал беспрепятственно достиг Лептиса. С его прибытием партия патриотов стала действовать открыто: как уже было сказано, позорный смертный приговор над Гасдрубалом был отменен, благодаря ловкости Ганнибала был вновь завязаны сношения с нумидийскими шейхами, Риму было отказано в утверждении фактически заключенного мира, а перемирие было нарушено разграблением севшего у африканских берегов на мель римского флота.
Негодуя, Сципион покинул свой лагерь под Тунисом и прошел по роскошной долине Баграда, уже не принимая предложений о капитуляции от небольших городов. Он разграблял их и забирал их жителей для продажи в рабство. Он успел проникнуть далеко внутрь страны и стоял подле Нараггары, когда с ним встретился выступивший против него из Гадрумета Ганнибал. Карфагенский полководец попытался добиться лучших мирных условий, но Сципион после нарушения перемирия не мог согласиться ни на какие уступки. Переговоры не привели ни к каким результатам, и, таким образом, дело дошло до решительной битвы при Заме.