До поры до времени боевые действия шли с переменным успехом, однако римским полководцам удалось переманить на свою сторону многие иберийские племена, что позволило за счет местного населения значительно увеличить численность армии. Начиная с весны 216 г. до н. э. Сципионы развернули в Испании масштабное наступление, вытесняя карфагенян с их позиций. Им удалось сорвать попытку Гасдрубала Баркида прорваться в Италию и уничтожить вражескую армию. После этого стратегическая ситуация на Иберийском полуострове резко изменилась в пользу римлян: «Если среди испанцев и были какие-то колебания, то победа соединила Испанию с Римом. Гасдрубалу нечего было и думать о походе в Италию; небезопасно было и оставаться в Испании. Когда это из писем Сципионов стало известно в Риме, то все обрадовались не столько победе, сколько тому, что Гасдрубал не сможет прийти в Италию» (Liv. XXIII. 29). Мало того, карфагенские владения в Испании оказались под угрозой.
В Картхадаште оценили размер опасности и прислали Гасдрубалу Баркиду значительные подкрепления: «Из Карфагена ему отправили в качестве пополнения 12 тысяч пехоты, 4 тысячи конницы и 20 слонов» (Eutrop. III. 11). Но даже этих мер правительству показалось недостаточно, поэтому на Иберийский полуостров была направлена еще одна карфагенская армия: «Магон, брат Ганнибала, собирался переправить в Италию двенадцать тысяч пехотинцев, полторы тысячи всадников, двадцать слонов и тысячу талантов[2]» (Liv. XXIII. 32). В сложившейся ситуации карфагенские власти действовали совершенно правильно, предпочтя Испанию Италии. Наступать на Рим Ганнибал не мог, свой шанс он упустил. Однако сил для давления на римлян в Италии и сдерживания вражеских армий от вторжения в Африку карфагенскому полководцу вполне хватало. В Иберии ситуация была другой, именно здесь решалась судьба войны. Отвоевав у пунийцев Испанию, римляне не только лишали их значительной части ресурсов для продолжения войны, но и получали возможность перенести боевые действия в Африку.
В 215 г. до н. э. против римлян в Испании воевали три карфагенские армии. Две из них были под командованием братьев Баркидов, Гасдрубала и Магона, третьей командовал Ганнибал, сына Бомилькара. К 214 г. до н. э. борьба приняла позиционный характер, пунийцы попытались вытеснить римлян из Дальней Испании. Братья Гасдрубал и Магон наголову разгромили союзных Риму испанцев, однако своевременное прибытие на театр военных действий Публия Сципиона спасло ситуацию. Карфагенские полководцы не рискнули вступить с противником в открытое сражение, перешли к тактике малой войны и нанесли римлянам большие потери. Когда Сципион лишился около 2000 воинов, то приказал немедленно отступать к горе Победы и закрепиться на новых позициях. Где находилась эта гора, сказать невозможно, не исключено, что где-то в районе Кастулона. Этот город перешел на сторону римлян, что можно связать с присутствием армии Публия Сципиона в его окрестностях.
В это время на помощь Баркидам пришел с армией Гасдрубал, сын Гискона (Liv. XXIV. 41). Свою армию он расположил напротив римского лагеря, противников разделяла река. Гасдрубал избрал пассивную тактику, дожидаясь ошибки противника. Его план увенчался успехом, поскольку Сципион утратил бдительность, пренебрег мерами предосторожности, покинул лагерь и отправился на рекогносцировку местности. Сопровождали командующего только легковооруженные воины. Гасдрубал внимательно наблюдал за действиями своего оппонента, выждал удобный момент и на открытой равнине атаковал отряд Сципиона. Римляне в панике бросились на близлежащий холм, где и были окружены карфагенянами. Казалось, что именно здесь закончатся жизнь и карьера Публия Сципиона, однако боги в этот день оказались милостивы к римлянину. Брат Гней привел легионы на помощь и отбросил пунийцев.
Дальнейшее повествование Тита Ливия является сплошным панегириком храбрости и доблести квиритов. Карфагеняне взяли в плотную осаду город Илитургис и решили уморить голодом римский гарнизон, но Гнею Сципиону удалось прорвать кольцо блокады. В завязавшемся сражении римляне нанесли противнику поражение, перебив 12 000 карфагенян и 1000 человек взяв в плен. Также было захвачено 36 штандартов (Liv. XXIV. 41). Пунийцы отступили от Илитургиса и попытались захватить союзную Риму Бигерру, но, узнав о приближении армии Гнея Сципиона, были вынуждены отвести войска к городу Мунде.
Здесь вновь разгорелись ожесточенные бои, в которых преимущество было на стороне римлян. По информации Тита Ливия, легионеры опять убили 12 000 врагов, захватили 3000 карфагенян, 57 знамен и истребили 39 слонов. Следующее сражение – и римляне уничтожают уже 6000 карфагенян. Магон Баркид приводит подкрепления, происходит новая битва, и вновь потери пунийцев за гранью разумного – 8000 воинов убиты, 1000 человек пленены, 58 штандартов досталось противнику. Погибли вожди галлов Мениапт и Висмар, восемь слонов захвачены, три убиты (Liv. XXIV. 41). Если сведения Тита Ливия безоговорочно принимать на веру, то у карфагенских военачальников не осталось ни солдат, ни знамен, чего не могло быть по определению.
Когда нумидийский царь Сифакс начал военные действия против пунийцев, карфагенское правительство решило перебросить из Испании в Северную Африку армию Гасдрубала Баркида, чего не могло быть по определению, если бы все обстояло так, как описывает Ливий. В этом случае Сципионам не составляло труда уничтожить остатки армий Магона и Гасдрубала, сына Гискона. И окончательно выбить карфагенян с Иберийского полуострова. Однако ничего подобного не произошло. Мало того, Тит Ливий пишет, что «в течение двух лет ничего достопамятного сделано не было, а война велась не столько оружием, сколько сговорами и переговорами» (XXV. 32). Что вряд ли было возможно, если бы дела пунийцев обстояли так плачевно, как это описал римский историк. Все было гораздо прозаичнее – римляне закреплялись на завоеванных территориях, Магон Баркид и Гасдрубал, сын Гискона, не могли им в этом помешать.
Но время работало против Сципионов. Карфагеняне приняли энергичные меры по восстановлению своих позиций в Испании, и уже в 212 г. до н. э. положение дел на Иберийском полуострове радикально изменилось не в пользу римлян. Смирив нумидийцев, карфагенское правительство все резервы отправило на испанский театр военных действий: «Заключив с Сифаксом мир, карфагеняне вновь посылают в Иберию Гасдрубала с более многочисленным войском и 30 слонами, а вместе с ним двух других полководцев, Магона и другого Гасдрубала, сына Гискона. С этого времени Сципионам война стала труднее, но и в этих условиях они побеждали» (App. Iber. 16). Римские историки часто выдавали желаемое за действительное, не стал исключением и данный пассаж Аппиана. Братьям Сципионам больше не удастся одержать ни одной победы, их легионы вскоре будут уничтожены, а сами они бесславно погибнут.
За несколько лет боевых действий в Иберии решительного преимущества не добилась ни одна из сторон. Гнею и Публию Сципионам пока удавалось противодействовать попыткам Гасдрубала Баркида прорваться из Испании в Италию на помощь Ганнибалу. Но они не могли очистить полуостров от пунийцев, их сил для этого было недостаточно. Карфагенские военачальники придерживались активной тактики, атакуя врага при первой возможности. Решающим фактором, который мог принести победу одной из сторон, стала поддержка местного населения: именно испанские воины пополняли как карфагенские армии, так и римские вспомогательные войска. Некоторые иберийские племена заняли выжидательную позицию, другие в зависимости от ситуации поддерживали то римлян, то карфагенян. Сципионы решили покончить с этой неопределенностью и нанести пунийцам окончательное поражение: «Если до сих пор только и делали, что сдерживали Гасдрубала, стремившегося в Италию, то теперь пришло время делать все, чтобы война в Испании была доведена до конца» (Liv. XXV. 32).
Летом 212 г. до н. э. объединенные римские армии начали решительное наступление на владения карфагенян в Испании. Легионам Сципионов противостояли три пунийские армии – братьев Баркидов и Гасдрубала, сына Гискона. Гасдрубал Баркид расположился лагерем около города Амторигса, где и поджидал противника. Сципионы решили этим воспользоваться и уничтожить вражескую армию до того, как все силы карфагенян соберутся в один кулак. Легионы устремились к Амторигсу. Узнав об этом Магон и Гасдрубал, сын Гискона, решили не искушать судьбу, объединили войска и поспешили на помощь соотечественнику и родственнику. В это время римская армия подошла к реке Бетис, на противоположном берегу которой находился лагерь Гасдрубала Баркида.