Вопреки страхам пунийцев, Сципион после учиненного побоища не пошел на Карфаген, а продолжил осаду Утики. Приготовления к приступу были в разгаре, когда ему донесли о созыве новой вражеской армии. Оставив для продолжения осады необходимое количество пехоты и флот, Сципион с остальным войском пошел на врага. Через пять дней пути он был на Великих Равнинах, а спустя еще день перенес лагерь с возвышенности в долину, поближе к неприятелю, и построил воинов для битвы. В течение следующих двух дней стороны ограничивались мелкими стычками, пока, наконец, не решились на генеральное сражение (Полибий, XIV, 8, 1–4; Ливий, ХХХ, 8, 1–4).
Построение римлян было классическим: три линии пехоты – гастаты, принципы и триарии, италийская конница на правом фланге, нумидийцы Масиниссы на левом. У Гасдрубала и Сифакса центр позиции занимали кельтиберы, левый фланг – нумидийцы и правый фланг – собственно карфагеняне. С первого же натиска конница Сципиона и Масиниссы опрокинула составленные преимущественно из новобранцев фланги вражеского войска. Оставшиеся без прикрытия кельтиберы сражались стойко: бежать в незнакомой стране им было некуда, а попасть в плен к Сципиону после того, как он завоевал Иберию, для них было равносильно смерти. Своим сопротивлением они сковали силы римлян и, пока не были перебиты почти до единого, дали возможность спастись бегством воинам Гасдрубала и Сифакса. Первый из них возвратился в Карфаген, а второй – в свою страну (Полибий, XIV, 8, 5–14; Ливий, ХХХ, 8, 5–9).
На совете после битвы Сципионом было решено вновь поделить армию: одна часть под его командованием продолжила поход на Карфаген, подчиняя все попадающиеся на пути города, а другая часть римлян и нумидийцы во главе с Гаем Лелием и Масиниссой должны были продолжать преследование Сифакса (Полибий, XIV, 9, 1–3; Ливий, ХХХ, 9, 1–2).
Нетрудно представить, какие чувства вызвали в Карфагене известия об очередном поражении. Способы выхода из ситуации назывались разные, и в итоге были приняты все: обсудить со Сципионом условия мира, укрепить свой город на случай осады, атаковать осаждающий Утику римский флот и, наконец, призвать Ганнибала из Италии (мечта Сципиона осуществлялась) (Полибий, XIV, 9, 6–11; 10, 1; Ливий, ХХХ, 9, 3–9).
Тем временем римская армия, не встречая особого сопротивления (кроме нескольких городов, которые приходилось штурмовать), подошла к самому Карфагену. Отослав огромную добычу в лагерь под Утикой, Сципион, по-прежнему без боя, занял Тунет (Тунис), из которого Карфаген было видно невооруженным глазом – до него оставалось всего три мили (Полибий, XIV, 10, 1–6; Ливий, ХХХ, 9, 10–12).
Но долго изучать неприятельскую столицу римлянам не пришлось, так как стало известно, что карфагеняне спустили на воду корабли и направили их против флота под Утикой. Обеспокоенный новой серьезной угрозой, Сципион покинул Тунет и повел армию назад. К Утике он успел раньше карфагенян, а так как большинство его судов было оборудовано всевозможными осадными машинами, не пригодными для морского боя, Сципион поставил боевые корабли у самого берега, окружив их в три-четыре ряда транспортными, которые были связаны между собой канатами, а поверх них устроен деревянный настил. В некоторых местах между судами были оставлены промежутки, через которые могли выходить небольшие сторожевые корабли. Поставив на этой своеобразной стене тысячу воинов, снабженных большим количеством метательных снарядов, римляне стали ждать приближения врага. Карфагеняне, хотя и имели численное преимущество, уверенности в своих силах не чувствовали и только на утро следующего дня подошли к расположению римлян и изготовились к бою. Римляне атаковать не собирались, и после довольно долгого раздумья карфагеняне пошли вперед (Ливий, ХХХ, 10, 1–11).