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