До поры до времени боевые действия шли с переменным успехом, однако римским полководцам удалось переманить на свою сторону многие иберийские племена, что позволило за счет местного населения значительно увеличить численность армии. Начиная с весны 216 г. до н. э. Сципионы развернули в Испании масштабное наступление, вытесняя карфагенян с их позиций. Им удалось сорвать попытку Гасдрубала Баркида прорваться в Италию и уничтожить вражескую армию. После этого стратегическая ситуация на Иберийском полуострове резко изменилась в пользу римлян: «
В Картхадаште оценили размер опасности и прислали Гасдрубалу Баркиду значительные подкрепления: «
В 215 г. до н. э. против римлян в Испании воевали три карфагенские армии. Две из них были под командованием братьев Баркидов, Гасдрубала и Магона, третьей командовал Ганнибал, сына Бомилькара. К 214 г. до н. э. борьба приняла позиционный характер, пунийцы попытались вытеснить римлян из Дальней Испании. Братья Гасдрубал и Магон наголову разгромили союзных Риму испанцев, однако своевременное прибытие на театр военных действий Публия Сципиона спасло ситуацию. Карфагенские полководцы не рискнули вступить с противником в открытое сражение, перешли к тактике малой войны и нанесли римлянам большие потери. Когда Сципион лишился около 2000 воинов, то приказал немедленно отступать к горе Победы и закрепиться на новых позициях. Где находилась эта гора, сказать невозможно, не исключено, что где-то в районе Кастулона. Этот город перешел на сторону римлян, что можно связать с присутствием армии Публия Сципиона в его окрестностях.
В это время на помощь Баркидам пришел с армией Гасдрубал, сын Гискона (Liv. XXIV. 41). Свою армию он расположил напротив римского лагеря, противников разделяла река. Гасдрубал избрал пассивную тактику, дожидаясь ошибки противника. Его план увенчался успехом, поскольку Сципион утратил бдительность, пренебрег мерами предосторожности, покинул лагерь и отправился на рекогносцировку местности. Сопровождали командующего только легковооруженные воины. Гасдрубал внимательно наблюдал за действиями своего оппонента, выждал удобный момент и на открытой равнине атаковал отряд Сципиона. Римляне в панике бросились на близлежащий холм, где и были окружены карфагенянами. Казалось, что именно здесь закончатся жизнь и карьера Публия Сципиона, однако боги в этот день оказались милостивы к римлянину. Брат Гней привел легионы на помощь и отбросил пунийцев.
Дальнейшее повествование Тита Ливия является сплошным панегириком храбрости и доблести квиритов. Карфагеняне взяли в плотную осаду город Илитургис и решили уморить голодом римский гарнизон, но Гнею Сципиону удалось прорвать кольцо блокады. В завязавшемся сражении римляне нанесли противнику поражение, перебив 12 000 карфагенян и 1000 человек взяв в плен. Также было захвачено 36 штандартов (Liv. XXIV. 41). Пунийцы отступили от Илитургиса и попытались захватить союзную Риму Бигерру, но, узнав о приближении армии Гнея Сципиона, были вынуждены отвести войска к городу Мунде.