Сципион, желая предупредить действия Ганнона, направил против него одного из своих помощников, Марка Юния Силана, приблизительно с 10000 пехотинцев и 500 всадников. Силан напал на кельтиберов, затем в бой были втянуты карфагеняне, для которых в итоге все сложилось крайне неудачно. Магон Баркид с конницей и частью пехоты бежал к Гадесу, а Ганнон попал в плен [Ливий, 28, 1–2]. Развивая этот успех, Сципион быстро пошел на юг полуострова, чтобы выступить против Гасдрубала, который в тот момент находился в Бетике. Однако Гасдрубал внезапно двинулся оттуда к Гадесу, а армию свою разделил, разместив в различных пунктах, прилегающих к городу [Ливий, 28, 2; ср. у Фронтина, 1, 3, 5].
Весной 206 г. борьба возобновилась. Гасдрубал, сын Гисгона, и Магон Баркид набрали новую армию — 50000 (по некоторым сведениям, 70 000) пехотинцев и 4500 всадников [Ливий, 28, 12]. Но Магон и бывший с ним Массанасса были разбиты при Бекуле [Ливий, 28, 13; Полибий, 11, 21], а Гасдрубал, сын Гисгона, — у Илипы [Ливий, 28, 14–15; Полибий, 11, 22–24]; после длительного и упорного боя он вынужден был спасаться бегством и оказался в Гадесе. Туда морем направился Магон.
Таким образом, спор о господстве на Пиренейском полуострове был решен. Может быть, именно этим объясняется намерение Массанассы завязать тайные переговоры с Силаном, чтобы подготовить свой переход на сторону римлян. Окончательная договоренность была достигнута при личной встрече Массанассы и Сципиона [Ливий, 28, 35]. Некоторое время спустя к Сципиону явились перебежчики из Гадеса, ставшего главным опорным пунктом карфагенян, и предложили сдать город [Ливий, 28, 23]. Правда, Магон Баркид заговор раскрыл, а заговорщиков арестовал и отправил в Карфаген [Ливий, 28, 31].
Поступок Массанассы был для Сципиона чрезвычайно выгоден. Считая борьбу за Испанию в общем уже законченной, он мыслил перенести войну в Африку и крайне нуждался в союзниках. Подвергнув свою жизнь серьезной опасности, Сципион даже съездил в Африку, к царю масайсилиев Сифаксу, врагу Массанассы, чтобы привлечь его к союзу с Римом. В это же время у Сифакса находился Гасдрубал, сын Гисгона, прибывший к царю с такой же миссией. Ливий рассказывает, что Сципион вынужден был не только присутствовать вместе с Гасдрубалом на царском пиру, но и возлежать с ним на одном ложе. В острой дипломатической схватке ему удалось победить карфагенянина. Хотя и очень ненадолго, Сифакс стал союзником римлян [Ливий, 26, 17–18].
В этой обстановке Магон Баркид обратился к карфагенскому совету с просьбой о подкреплениях [Ливий, 28, 31], но вместо подкреплений получил приказание переправить флот из Гадеса в Италию, там навербовать в армию сколько возможно галлов и лигуров и идти на соединение с Ганнибалом. Для этого ему были доставлены средства из государственной казны; кроме того, сам Магон ограбил городскую казну и храмы Гадеса, а также заставил всех частных лиц сдать золото и серебро. По дороге Магон подступил с моря к Новому Карфагену, однако взять его не сумел и, потерпев серьезный урон, вернулся к Гадесу [Ливий, 28, 36]. Но в Гадес его уже не пустили. Выманив из города магистратов и казнив их, Магон отправился к Питиусским островам, где находилась старинная карфагенская колония, а оттуда на Балеарские острова, где и перезимовал. Гадес сдался римскому командованию [Ливий, 28, 37]. Это был последний акт римско-карфагенской войны на Пиренейском полуострове.
О действиях Ганнибала в этот период источники ничего не сообщают; вероятно, он не сдвигался с места. Потеря Испании должна была еще больше углубить состояние безысходности, которое он ощутил после гибели брата Гасдрубала.
Весной 205 г. Магон Баркид высадился в Италии, имея 12000 пехотинцев и 2000 всадников, занял без боя Геную и заключил союз с лигурийским племенем ингаунов. Казалось бы, самое время было проявить активность Ганнибалу, но ничего подобного не произошло. Лето Ганнибал провел у храма Юноны Лацинийской. Там он воздвиг жертвенник с надписью на пунийском и греческом языках, в которой рассказывается о его деяниях. Может быть, Ганнибал сделал это, почувствовав, что для него уже наступило время подвести итоги своей жизни, целиком отданной борьбе с Римом. Во всяком случае, если экспедицию Гасдрубала Баркида Ганнибал ждал нетерпеливо, надеясь на перелом в войне, то к высадке Магона Баркида он отнесся с видимым безразличием; скорее всего, он не верил уже, что ход войны переменится.