Сицилию, обо всем доложил Сципиону. Тем временем Карфаген послал к Сифаку Гасдрубала, чтобы склонить его к союзу. Для закрепления союза Гасдрубал предложил царю в жены свою дочь, красавицу Софонисбу. Сифак влюбился в прекрасную карфагенянку, а Гасдрубал научил дочь убедить царя, чтобы он отправил посольство к Сципиону. Прибыв на Сицилию, послы Сифака заявили Сципиону, что ему не следует приезжать в Африку и разворачивать здесь военные действия, потому что Сифак теперь союзник Карфагена и по родству, и по договору; римляне могут воевать против Карфагена вдали от Африки, но если они ступят на ее землю, то он выступит на защиту владений Карфагена, т. е. общей для его и карфагенян родины.
Новость о прибытии посольства разнеслась по Сицилии, и в войсках началось волнение: легионеры поняли, что им предстоит бороться против двух сильных противников. Сципион применил все свое красноречие, чтобы успокоить солдат, убеждая их, что на самом деле Сифак боится вторжения римлян, которые могут оказать помощь его врагу Масиниссе, который призывает римлян в Африку. Сципион напомнил, что они отправляются на борьбу с врагом, от которого страдала Италия целых 12 лет. Среди воинов Сципиона было немало тех, кто пережил трагедию у Канн, а затем был наказан бесплатной службой на Сицилии. После этой речи командира легионеры воспряли духом и исполнились решимости продолжить борьбу с врагом.
Сципион в Африке
Весной 204 г. до н. э. Сципион отплыл из Лилибея и вскоре высадился рядом с Утикой. С ним было 30 000 воинов. Решив завладеть городом и гаванью, он осадил Утику. Карфаген был охвачен паникой и имел на это гораздо больше оснований, чем римляне, когда Ганнибал вторгся на Италию. У Карфагена не было армии и крупного полководца под рукой. К Сципиону присоединился Масинисса, который воспылал желанием завладеть Софонисбой и готов был еще яростнее бороться с Сифаком. Как справедливо заметил Ливий, «нумидийцы превосходят всех остальных варваров по силе страстей».
Карфаген мог рассчитывать на прибытие небольшого отряда от Филиппа Македонского и на наемников-кельтиберов, которые должны были подойти из Испании. Небольшой конный отряд Ганнона Барки следил за операциями римлян. Сципион бросил на них нумидийцев Масиниссы, и отряд был уничтожен, а Ганнон погиб. Есть много обстоятельств, которые оправдывают Ганнибала, не пошедшего на Рим, но совершенно непонятно, почему Сципион немедленно не двинулся на совершенно беззащитный и охваченный паникой Карфаген. Он даже мог не штурмовать город, но полностью блокировать его. Сципион ничем не рисковал: у карфагенян не было ни гарнизона, ни союзников. Правда, вскоре появился Гасдрубал Гискон. Вместе со своим союзником Сифаком он привел пеструю толпу, которая называлась армией, но не могла противостоять римским ветеранам. Тем не менее, Гасдрубал пошел к Утике, и Сципион снял осаду, разбил укрепленный лагерь на полуострове у мыса Пульхра и остался там на зиму.
На 203 г. до н. э. консулами выбрали Гнея Сервилия Цепиона и Гая Сервилия Гемина. Сципион же был назначен командующим в Африке до конца войны. Он занялся сбором сведений о карфагенской армии и направил в лагерь Гасдрубала и Сифака посланцев якобы для переговоров о мире, хотя на самом деле не был уполномочен на это сенатом. Вместе е посланниками под видом слуг отправились опытные центурионы, которые быстро обнаружили, что в лагере противника очень слабая дисциплина и плохая охрана.
Отбросив комедию с переговорами, Сципион послал к Утике отряд воинов с осадными орудиями. Карфагеняне должны были подумать, что он возобновляет осаду. На самом деле Сципион подготовился и ночью напал на вражеский лагерь. Нумидийцы и карфагеняне спали в шалашах из веток. Воины Масиниссы и Лелия принялись поджигать их. Воины противника выбегали наружу и тут же падали под ударами римлян. Войско Гасдрубала было почти полностью уничтожено, но вскоре они собрали еще одно подобие армии, настоящими бойцами в которой были только испанские наемники и отряд, присланный из Македонии. Карфагеняне вновь атаковали Сципиона, который принял бой и нанес им огромные потери. Гасдрубал укрылся в Карфагене, а Сифакс бежал в Цирту — столицу Нумидии.
Сципион оставил для блокады Утики флот и часть воинов, а сам с армией пошел на Карфаген, разоряя страну. Воинов Лелия и Масиниссы он послал преследовать Сифака. В результате в одной из схваток царь был ранен и попал в плен. Цирта оказались в руках римлян. Цирта была столицей отца Масиниссы, и он был счастлив вернуться в родной город. Войдя во дворец, он был встречен Софонисбой, которая умоляла его спасти ее от римлян. Масинисса тут же влюбился в красавицу, обещал ей защиту и в этот же день женился на ней. Теперь она была женой царя Нубидии, а не римской пленницей Сципиона — живым трофеем на время его триумфа. Лелий, прибывший во дворец, разгневался и настаивал на том, что Софонисбу, Сифака и остальных пленников отослали к Сципиону. В итоге оба сошлись на том, что судьбу Софонисбы решит Сципион.
Представ перед Сципионом, Сифак, поглощающий ненавистью к Масиниссе, объяснил, что был ослеплен красотой дочери Тасурубала, которая своей любовью превратила его в раба, отравила своей страстью. Он говорил, что единственным его утешением является то, что его злейший враг сам теперь попал в ее сети. Потом приехал Масинисса, и Сципион, сначала поздравив его с победой, горько упрекал его за неспособность следовать доводам разума, поддаваться чувствительности, чего с ним самим, Сципионом, никогда не случилось. Он сказал, что Сифакс — пленник Рима, и Софонисба, как его жена, должна отправиться в Рим. Масинисса признался, что он дал Софонисбе обещание не передавать ее римлянам. Но Сципион был непреклонен. Тогда Масинисса вызвал доверенного слугу и в своей палатке вручил ему яд, «который все цари носят с собой на случай превратностей судьбы». Слуга отправился в Цирту и, подмешав яд в чашу с вином, поднес ее Софонисбе со словами о том, что она не должна забывать о том, кто является ее отцом. Дочь Гасдрубала Гискона поняла намек и выпила яд.
Теперь правители Карфагена могли надеяться только на войска, еще находившиеся в Италии. Ганнибалу и Магону были отправлены приказы возвращаться в Карфаген. Попытка уничтожить римский флот и снять блокаду с Утики не удалась; поражение Сифакса лишило Карфаген единственного союзника, и к власти в городе пришли сторонники немедленного мира с