Объединенная римская армия выступила к городу Амторгис против Гасдрубала Баркида, в авангарде шли отряды кельтиберов, следом маршировали легионы. Римляне разбили свой лагерь напротив расположения карфагенян, и теперь противников разделяла только река Бетис. Вскоре Публий Сципион выступил в поход против Магона и Гасдрубала, сына Гискона, оставив брата разбираться с Баркидом. Но чем дальше Публий уводил свою армию от лагеря брата, тем больше он испытывал чувство неуверенности в успешном исходе предприятия. Римская армия стала подвергаться регулярным атакам нумидийской конницы, африканские всадники с утра до вечера кружили вокруг марширующей колонны легионеров. Войска стали нести большие потери убитыми и ранеными, поэтому Сципион был вынужден остановить движение войск и засесть в укрепленном лагере. Римский военачальник принял все возможные меры предосторожности, легионеры насыпали вал и выкопали ров, по периметру которого были выставлены усиленные сторожевые посты. Но это не помогло, и командир нумидийцев Масинисса продолжал неистовствовать вокруг римского лагеря. Ночные нападения происходили регулярно, и Сципиону приходилось держать своих людей в боевой готовности целыми сутками, что сильно выматывало рядовой и командный состав. Дошло до того, что африканцы прорвались сквозь сторожевое охранение и атаковали ворота лагеря.
Положение римлян осложнялось и тем, что начались проблемы с продовольствием. Стоило Сципиону отправить отряд в окрестности собирать провиант, как легионеры тут же подвергались яростным атакам нумидийцев и с большими потерями поспешно отходили за лагерные укрепления. Всё это напоминало самую настоящую осаду. Но основная проблема заключалась в том, что главные силы карфагенян – армии Магона и Гасдрубала, сына Гискона, ещё не подошли. Но если уже сейчас положение римлян было критическое, что будет, когда враги объединятся? Мало того, Сципион узнал, что на помощь Масиниссе идет вождь свессетанов Индибилис и ведет с собой 7500 воинов. Сам того не желая, Публий Корнелий разворошил осиное гнездо. И здесь боги вновь помутили разум римского полководца. Вместо того чтобы спешно покинуть лагерь и начать отступление, он решил выступить навстречу Индибилису и разбить испанцев до прихода карфагенян. О нумидийской коннице, которая может во время сражения поддержать иберийцев, он как-то не подумал. Оставив лагерь под охраной легата Тита Фонтея, Сципион под покровом темноты выступил в поход и повел легионы навстречу войскам Индибилиса.
Римляне шли быстрым шагом, Публий Корнелий хотел как можно скорее встретиться с врагом и решить дело открытым сражением. В том, что победа вновь останется за квиритами, он не сомневался, поскольку его армия превосходила отряды испанцев как количественно, так и качественно. Сципион вспомнил о нумидийцах, но их поблизости не было видно, и командующий пришел к выводу о том, что они не заметили, как римская армия покинула укрепленные позиции. Наступило утро. Войска Сципиона двигались ускоренным маршем, солнце палило нещадно, и легионеры обливались потом, изнывая от нестерпимой жары. И когда пошли разговоры о том, что, возможно, сегодня испанцы не появятся и придется разбивать на ночь лагерь, примчались разведчики и доложили, что впереди появилось войско Индибилиса. Публий Корнелий стал перестраивать легионы из походной колонны в боевой строй, но так и не успел это сделать, потому что налетели испанцы. Свессетаны атаковали без всякого строя, они налетели как ураган и сразу схватились с легионерами врукопашную.
Сражение началось стихийно, без всякой подготовки, и Сципион сразу понял, что победить можно только в том случае, если римляне одолеют испанцев в лобовом столкновении. Но он не сомневался в выучке своих бойцов. Римский полководец объезжал ряды легионеров, появлялся в самых опасных местах сражения и личным примером увлекал подчиненных в атаку. Гастаты, принципы и триарии смыкали шеренги, формировали по ходу битвы подобие боевого порядка и медленно теснили испанцев. Но когда победа была уже близка, заглушая шум сражения, прогремел боевой клич нумидийцев и тысячи африканцев с разных сторон обрушились на римлян. Масинисса дал легионам возможность увязнуть в сражении с иберийцами, после чего повел свою конницу в атаку. А зазвучавшие в отдалении боевые трубы свидетельствовали о том, что к месту побоища подходят армии Магона и Гасдрубала, сына Гискона. Вскоре подоспели передовые карфагенские отряды и с ходу вступили в бой.