Тем временем Сципион в Испании после различных маневров и нескольких стычек разбил Гасдрубала в битве при Бекуле, хотя и не нанес карфагенянам большого урона. А сам Гасдрубал по приказу Ганнибала отправился в Галлию, оставив Испанию Сципиону.

О перемещении войск Гасдрубала стало известно римскому консулу Клавдию Нерону. В 207 году римляне устроили противнику засаду у реки Метавр и разбили его. Гасдрубал, поняв, что все потеряно, намеренно ворвался в римскую когорту, чтобы погибнуть.

В доказательство своей победы римляне прислали Ганнибалу отрубленную голову брата. Однако тот и не думал покидать Италию, продолжая с большим упорством вести боевые действия. Тем временем тактика Рима, направленная на затягивание войны и истощение сил карфагенской армии на итальянской земле, стала давать свои результаты. Оторванность от тыловых баз поставила войска Ганнибала в крайне затруднительное положение.

Последнюю попытку помочь армии Ганнибала предпринял его брат Магон. В 205 году до н.э. он переправился из Испании на Балеарские острова, а потом - на лигурийское побережье Италии с 12 тысячами пехотинцев и 2 тысячами всадников. Однако римляне его блокировали, и, несмотря на поддержку лигурийцев и галлов, помочь Ганнибалу Магон не смог.

Тем временем Сципион с армией, воспитанной уже в духе линейной тактики, одержавшей успехи на Пиренейском полуострове, еще повысил занятиями и маневрами боевую подготовку своих войск и высадился в 205 году на африканском берегу близ Карфагена. Осадить Карфаген Сципион был не в силах, но ему удалось вмешаться в нумидийские дела, взять в плен шейха, являвшегося опорой карфагенского влияния, и создать перевес его противнику Массиниссе, который неожиданно взялся помогать Риму.

Осенью 203 года до н.э. Ганнибал с остатками своей армии срочно был отозван из Италии на защиту Карфагена. В Африку Ганнибал прибыл с пехотинцами, но почти без конницы. Вернувшись на родину после 16-летнего отсутствия, он приступил к переустройству своей армии, на что потребовалось до девяти месяцев. Армия формировалась, дабы избежать вмешательства гражданской власти, не в самом Карфагене, а в небольшом приморском городке Хадруметуме.

Наконец летом 202 года до н.э. Ганнибал начал боевые действия против римлян. Последние не имели еще в своем распоряжении ни одного порта и базировались на полуострове Утика. Массинисса с обещанными 10 тысячами воинов еще не присоединился к армии Сципиона, располагавшей для операций в поле примерно 25000 бойцов.

Римская армия находилась в долине реки Баградас, когда Сципион был уведомлен, что Ганнибал с 35-тысячным войском движется как раз между ним и тем районом к западу, откуда ожидались нумидийцы. Любой другой военачальник на месте Сципиона отошел бы на полуостров Утика, где была укрепленная база, после чего наверняка был бы заблокирован Ганнибалом и потерял бы влияние на нумидийцев. Но Сципион пошел на риск: он бросил свои сообщения с морем, быстрым фланговым маршем на запад сам пошел на воссоединение с Массиниссой и, получив от него подкрепление в 6000 всадников и 4000 пехотинцев, двинулся навстречу Ганнибалу. Столкновение произошло 19 октября 202 года до н.э. при Нарагаре, однако в истории оно известно как битва при Заме.

Это сражение двух 35-тысячных армий представляет собой очень интересный пример первого в истории применения римлянами линейной тактики.

Ганнибал еще не успел создать конницы, и здесь римляне превосходили его троекратно. Пехотинцев было больше у Ганнибала. А кроме того, Ганнибал располагал несколькими десятками слонов.

Ганнибал распределил свою конницу равномерно по флангам и дал ей указание - не вступая в упорный бой, бежать перед римской и нумидийской конницей, чтобы увести врага во время преследования подальше от поля сражения. Слоны маскировали боевой порядок пехоты и давали Ганнибалу выигрыш во времени - не втягивать в серьезный бой пехотинцев до тех пор, пока не выяснится, удалась ли хитрость с неприятельской конницей.

Пехоту карфагенский стратег построил в две линии: первая - карфагенская милиция, вторая - опытные ветераны, вернувшиеся из Италии, вместе с самим Ганнибалом. Если бы не удалось отвлечь римскую конницу с поля сражения, обе линии под прикрытием слонов могли бы отступить в укрепленный лагерь, не втягиваясь в решительный бой.

Поначалу хитрость Ганнибала удалась. Римская конница, преследуя карфагенскую, скрылась с поля сражения. Тогда выступили карфагенские пехотинцы. Жестокая рукопашная схватка была начата первой линией, а вторая линия, разделившись на две части, вышла из-за флангов первой для решительного двойного охвата римской пехоты. Но проницательный Сципион, имевший уже и у себя вторую линию, на этот маневр неожиданно ответил контрманевром - части второй линии римлян вышли из-за флангов первой и быстро вступили в бой с противником, собиравшимся окружить римлян. Бой довольно долго хранил характер лобового столкновения на все ширящемся фронте. Некоторое преимущество было достигнуто яростно сражавшейся карфагенской пехотой, однако бой сильно затянулся. Части римской конницы стали возвращаться на поле сражения, и карфагенянам пришлось отступать в очень трудных условиях.

Налицо был факт: учитель - Ганнибал - нашел достойного ученика в Сципионе.

Более того, римляне научились бороться с боевыми слонами противника - они обратили их в бегство, и те внесли большое замешательство в ряды африканской пехоты.

В итоге Ганнибал проиграл. Армия Карфагена потеряла 10000 человек, в то время как победители - полторы тысячи. Именно с этого триумфального для него момента римский полководец получил прозвище Сципион Африканский.

А война, державшаяся только на непобедимости Ганнибала, с его поражением была закончена в кратчайший срок. Главным следствием сражения при Заме явилась утрата Карфагеном веры в возможность успешной борьбы с Римом, в самостоятельное будущее.

В 201 году Римская республика и Карфаген заключили крайне тяжелый для побежденных мир, хотя Ганнибал настаивал на продолжении войны. Вторая Пуническая война закончилась полным военным поражением Карфагена: он выдал Риму весь свой флот и обязывался в течение 50 лет выплачивать победителю ежегодно 10000 эвбейских талантов. Все карфагенские владения вне Африки отходили Римской республике. Африканская Нумидия объявлялась независимой от Карфагена.

Рим на 600 лет получил полное господство в Средиземноморье.

Что касается Ганнибала, то он до 196 года до н.э. управлял Карфагеном, постоянно желая возобновить вооруженное противоборство с ненавистным ему Римом. В конце концов, заподозренный римлянами в подготовке новой войны и потеряв доверие своих сограждан, престарелый полководец был вынужден бежать из родного Карфагена, защите которого от врагов он отдал всю свою жизнь. Теперь ненависть Рима преследовала его всюду.

Сначала Ганнибал нашел убежище у сирийского царя Антиоха III, став его советником. После поражения сирийского правителя в очередной войне с Римом Ганнибал в 188 году до н.э. укрылся в Армении, а потом в Вифинии. Там в 183 году до н.э. полководец, опасаясь быть выданным Риму, принял яд. Согласно римским источникам, его последними словами были: «Надо избавить римлян от постоянной тревоги: ведь они не хотят слишком долго ждать смерти одного старика».

Примечательно, что примерно в это же время умер и победитель «великого карфагенянина» Сципион Африканский. Произошло это в Южной Италии, куда он удалился в добровольное изгнание после многочисленных козней, политических нападок, оскорблений и суда над ним в Риме по обвинению - по-видимому, ложному - в растрате.

Ганнибал вошел в военную историю как один из крупнейших полководцев Древнего мира. Полководческий талант сочетался в нем с даром мудрого государственного деятеля, политика и дипломата. Никакой другой полководец никогда не встречался ни со столькими бедствиями, ни с таким ужасающим численным перевесом на стороне противника, как Ганнибал. Он разделял со своими воинами все тяготы и опасности войны. Даже римские хроники признают, что Ганнибал «никогда не приказывал другим делать то, чего не смог бы или не захотел бы сделать сам».