В Рим тем временем вернулся Публий Корнелий Сципион, которого избрали консулом на 205 г. до н. э. Главной его задачей было убедить сенат принять решение перенести военные действия в Африку, и, несмотря на упорное сопротивление в высшей степени авторитетного Фабия Максима, молодому полководцу это удалось. В качестве провинции Сципион получил Сицилию с правом набора там добровольцев в дополнение к двум обычным консульским легионам. Ему было позволено переправиться в Африку, если обстоятельства будут этому благоприятствовать и он сочтет такую экспедицию необходимой. Сразу по прибытии на остров консул приступил к подготовке вторжения, предварительно направив к африканским берегам флот во главе с Гаем Лэлием для грабежа на побережье и разведки боем (Liv. XXIX, 1–3). К весне 204 г. до н. э. подготовка была завершена, и Корнелий Сципион отплыл во главе двадцатипятитысячного войска с Сицилии на 40 военных и 400 транспортных кораблях. Не встретив сопротивления, он высадился недалеко от Утики (Liv. XXIX, 27–28). Сложилась парадоксальная ситуация: римское войско грозило карфагенянам в Африке в тот самый момент, когда Ганнибал оставался на юге Италии, а Магон – в Лигурии. При этом римских сил в Африке было столь же недостаточно для захвата Карфагена, как и пунийских на Апеннинском полуострове для овладения Римом. Сципион попытался было организовать осаду Утики, однако подошедшие вскоре крупные пунийские силы под командованием Гасдрубала и нумидийского царя Сифакса, соперника Массиниссы, заставили его отступить на зиму 204–203 гг. до н. э. в укрепленный лагерь, располагавшийся на небольшом полуострове неподалеку от Утики. Между Сципионом и Сифаксом завязались переговоры, который римский военачальник вел исключительно с целью тянуть время и дать возможность своим воинам хорошо изучить местность и расположение лагеря карфагенян (Polyb. XIV, 1, 1—13; Liv. XXX, 3). Собрав к весне 203 г. до н. э. достаточно данных для организации успешного нападения на вражеский лагерь, Сципион неожиданно заявил, что, несмотря на его желание заключить мир, римский военный совет высказался против этого (Polyb. XIV, 2, 5—14; Liv. XXX, 4). Той же ночью римский полководец отправил часть римских и союзных нумидийских войск под командованием Гая Лэлия и Массиниссы для нападения на лагерь Сифакса. Нападавшие поджигали легкие деревянные постройки и тростниковые хижины, в которых жили нумидийские воины, и безжалостно убивали всех выбегавших наружу в поисках спасения. Многие нумидийцы сгорели заживо в охваченных огнем строениях, многие были растоптаны во время возникшей из-за паники давки в узких лагерных воротах. Тем временем Сципион подошел с другой частью римского войска к лагерю Гасдрубала, сына Гисгона. Когда пунийские воины, решившие, что пожар в стане нумидийцев произошел случайно, открыли ворота и, безоружные, бросились на помощь сотоварищам, римские воины ворвались и в этот лагерь и также его подожгли. Проявленное коварство принесло Сципиону желаемые плоды, позволив в самом начале летней кампании 203 г. до н. э. одним ударом уничтожить сразу два вражеских войска и возобновить осаду Утики (Polyb. XIV, 4–5; Liv. XXX, 5).
Карфагенское правительство было вынуждено срочно собирать новое войско взамен двух погибших. Спешная мобилизация позволила привлечь около 30 тыс. воинов, однако эти новобранцы не шли ни в какое сравнение с хорошо обученной и закаленной в предыдущих сражениях римской армией Сципиона. Единственным исключением был отряд наемников-кельтиберов. В сражении на так называемых Великих равнинах, к юго-западу от Утики, римляне легко обратили в бегство не готовых сражаться пунийцев и нумидийцев, и лишь кельтиберы оказали ожесточенное сопротивление (Polyb. XIV, 6–8; Liv. XXX, 7–8). После этого поражения судьба Карфагена повисла на волоске. Развивая успех, Сципион овладел несколькими африканскими городами, а Гай Лэлий разгромил и пленил Сифакса, после чего Массинисса стал единовластным правителем Нумидии (Liv. XXX, 11–12). Карфагенскому правительству не оставалось ничего иного, кроме как просить римлян начать мирные переговоры либо чтобы действительно положить конец войне, либо чтобы выиграть время до прибытия из Италии Ганнибала и Магона, которым было приказано вернуться в Африку. Возможно, именно этим объясняется согласие пунийцев принять продиктованные Сципионом крайне тяжелые условия предварительного соглашения. Согласно им Карфаген должен был вывести войска из Италии и Галлии, отказаться от Испании и всех островов между Европой и Африкой, выдать римлянам все военные корабли, кроме 20, а также предоставить 500 тыс. модиев пшеницы и 300 тыс. модиев ячменя и значительную денежную сумму (Liv. XXX, 16). Неудивительно, что сразу после прибытия войск Ганнибала в Ливию карфагенское правительство возобновило военные действия.