В Испании кампания 212 года началась при следующих обстоятельствах. Как известно, на Пиренейском полуострове находились в этот момент две римские армии: одна — под командованием Публия Корнелия Сципиона и другая — под началом его брата Гнея. Когда наступил сезон боевых операций, римские полководцы покинули зимние квартиры и объединили свои силы. Им противостояли три армии карфагенян: две —под командованием Гасдрубала сына Гисгона и Магона сына Гамилькара Барки — находились в общем лагере на расстоянии приблизительно пяти дней пути от римлян, и одна стояла около г. Анторга (ее возглавлял Гасдрубал сын Гамилькара Барки). Для того чтобы разработать план кампании и определить ее цели на ближайшее время, Сципионы созвали военный совет; его участники пришли к единодушному мнению: до сих пор стремились только помешать Гасдрубалу Баркиду пробиться в Италию, теперь же (несомненно, после блестящих успехов предшествующих кампаний) настало время закончить войну в Испании. Средств должно было хватить: к римлянам присоединились 20 000 кельтиберов — по тем временам весьма грозная сила. Сначала римское командование решило нанести удар по Гасдрубалу сыну Гамилькара Барки. Все были уверены в успехе и беспокоились о том, как бы напуганные его поражением Гасдрубал сын Гисгона и Магон Баркид не ушли в горы и не затянули бы войну. Поэтому римляне разделили свои войска. Две трети прежней армии Публий Корнелий Сципион повел против Магона Баркида и Гасдрубала сына Гисгона; одну треть прежней армии и кельтиберов Гней Корнелий Сципион двинул к Анторгу против Гасдрубала Баркида [Ливий, 25, 32]. Карфагеняне предоставили римлянам начать военные действия.
Хорошо понимая, что свои надежды Гней Сципион фактически возлагает на кельтиберов, Гасдрубал Баркид сделал все, чтобы оторвать их от римлян. Его аргументы оказались настолько полновесны, а потому и настолько убедительны и для рядовых кельтиберских воинов, и для их вождей, что они покинули римский лагерь, заявив на прощание, будто междоусобные распри мешают им принять участие в предприятии Сципионов. Гней, не имея теперь ни достаточной армии, чтобы осуществить первоначальный план и сразиться с Гасдрубалом Баркидом, ни возможности соединиться с братом, решил отступить, по возможности уклоняясь от боя на открытой местности; карфагеняне преследовали его по пятам [Ливий, 25, 33].
Положение Публия Корнелия Сципиона также становилось все более затруднительным. Набеги нумидийской конницы Массанассы постоянно тревожили его солдат. Удары, наносимые ею, с каждым днем становились все ощутимее, так что в конце концов римляне оказались в полном смысле слова осажденными в собственном их лагере. Большую тревогу вызвал у Сципиона слух о том, что на помощь карфагенянам идет один из испанских вождей, Индебил, и ведет с собой отряд суессетанов в 7500 человек. Желая предотвратить худшее и, во всяком случае, не допустить Индебила соединиться с карфагенянами, Публий Сципион ночью бросился ему навстречу, оставив в лагере небольшой гарнизон под командованием Тиберия Фонтея. Сражение завязалось с ходу, и римская пехота уже, казалось, побеждала, как вдруг с флангов на нее напали нумидийские всадники, а с тыла — карфагеняне, очевидно, внимательно следившие за всеми передвижениями Публия. Во время боя Публий Корнелий Сципион был убит, и эта гибель предрешила исход дела: лишившись командования, римляне стали разбегаться; многие из них были изрублены уже во время бегства [Ливий, 25, 34]. По данным Аппиана [Исп., 15], Публий Корнелий Сципион был убит во время рекогносцировки, которую он совершал с немногочисленным отрядом всадников.
Сразу же после этой победы Гасдрубал сын Гисгона и Магон Баркид повели свои войска на соединение с Гасдрубалом Баркидом. Заметив их прибытие, Гней Сципион решил снова отступить и ночью оставил свой лагерь. На рассвете карфагеняне начали преследование, выслав вперед нумидийскую конницу, которая заставила римлян остановиться и принять бой. К наступлению следующей ночи Сципиону удалось занять на холме, господствовавшем над местностью, круговую оборону и даже возвести из обозной клади какое-то подобие заграждений. Однако сопротивляться численно превосходящему противнику римские солдаты не могли. Растаскивая набросанные тяжести, карфагеняне, испанцы, нумидийцы расчистили себе дорогу и начали резню; большинство римлян укрылись в окрестных лесах, а потом бежали в лагерь к Тиберию Фонтею. Гней Сципион погиб во время боя; по одним рассказам, он был убит прямо на холме, по другим — бежал в башню недалеко от холма и там погиб, когда ею овладели карфагеняне [Ливий, 25, 35-36; ср. также у Апп., Исп., 15].