В первое время положение Сципиона в Африке оказалось очень трудным. Он сделал попытку взять Утику, но осаду пришлось снять, так как на помощь городу явились Сифакс и Гасдрубал с крупными силами. Сципион отошел от Утики и построил на зиму укрепленный лагерь на небольшом полуострове невдалеке от города. Лагери карфагенян и нумидян были расположены близко друг от друга, километрах в 10 от римского. Военные действия приостановились, так как ни та, ни другая сторона не были достаточно сильны, чтобы перейти в наступление.
Тогда с карфагенской стороны было сделано предложение начать мирные переговоры. Посредником выступил Сифакс. Основой для заключения мира он предлагал возвращение к status quo ante bellum. Разумеется, Сципион не мог пойти на эти условия, но притворно выразил согласие. Во время переговоров, которые Сципион нарочно затягивал, он прекрасно ознакомился через своих послов и разведчиков с местоположением и характером вражеских лагерей.
К весне 203 г. у Сципиона все было готово для коварного нападения. Чтобы формально снять с себя обвинение в нарушении перемирия, он послал сказать Сифаксу, что хотя он жаждет мира и готов принять предлагаемые условия, но его военный совет с ними не согласен. В ту же ночь половина римского войска под командой Гая Лелия и Масиниссы напала на лагерь нумидян и подожгла их легкие шалаши, построенные из соломы и тростника. В поднявшейся панике множество народа погибло от огня и было перебито. Сципион с другой половиной войска стоял наготове против карфагенского лагеря и, когда там тоже поднялась суматоха, отдал приказ начать атаку. Карфагеняне поспешно отступили, понеся большие потери.
Этот акт вероломства резко изменил к лучшему положение Сципиона, и он снова мог возобновить осаду Утики. Сифакс и Гасдрубал собрали остатки своей армии и усилили ее большим отрядом наемников — кельтиберов. На так называемых Больших полях, в нескольких днях пути к юго-западу от Утики, произошло сражение. Карфагеняне и их союзники были разбиты. Гасдрубал отступил в Карфаген, а Сифакс — к себе в Нумидию.
Сципион остался в карфагенской области и занялся подчинением ливийских городов, а Гай Лелий с Масиниссой бросились в погоню за Сифаксом. Нумидийский царь был еще раз разбит и попал в плен, а Масинисса получил свое царство. После всех этих неудач карфагенскому правительству оставалось только просить о мире. Осенью 203 г. было заключено перемирие и начались переговоры. Одновременно карфагенское правительство послало Ганнибалу приказ очистить Италию. С тяжелым чувством великий полководец должен был оставить страну, в которой он воевал 15 лет, не испытав ни одного серьезного поражения! Аналогичное распоряжение получил и Магон, но по дороге в Африку он, вероятно, умер.
Переговоры закончились подписанием предварительного мирного договора. Его основные пункты сводились к тому, что Карфаген, оставаясь независимым государством, терял все свои владения вне Африки, должен был заплатить большую военную контрибуцию и выдать почти все суда. Масинисса признавался независимым царем Нумидии. Текст договора был отвезен карфагенским посольством в Рим, одобрен сенатом и утвержден народным собранием.
Однако прибытие в Африку Ганнибала и войск Магона вновь оживило надежды военной партии. В карфагенском сенате взяли верх сторонники продолжения войны. Перемирие было нарушено нападением карфагенской толпы на римские транспортные суда, везущие продовольствие войскам Сципиона и прибитые бурей к берегу около Тунета. Когда же Сципион отправил в Карфаген по этому поводу послов, им не дали никакого ответа, а при возвращении на них напали карфагенские суда. Таким образом, война возобновилась.
Сципион вторгся в Карфагенскую область, а Ганнибал двинулся ему навстречу из Гадрумета[175]
. Обе армии сошлись близ г. Замы, в 5 днях пути к югу от Карфагена. Перед сражением Сципион и Ганнибал впервые встретились и сделали попытку еще раз договориться об условиях мира. По-видимому, ни один из них не был вполне уверен в победе. Но переговоры окончились ничем.