Марк Юний очень ответственно подошел к выполнению возложенной на него задачи. Взяв опытных проводников из числа перебежчиков кельтиберов, пропретор повел войска через покрытые густым лесом ущелья и перевалы, соблюдая величайшую осторожность и делая длительные переходы. Ганнон и Магон проявили удивительную беспечность, поскольку не направили шпионов на римские территории и не провели дальнюю разведку. Допустили ошибку, свойственную всем карфагенским полководцам, за исключением Ганнибала. За что и поплатились. Как некогда Гасдрубал, сын Гискона, разделил свою армию накануне решающего сражения с Луцием Марцием, так и Магон с Ганноном расположили свои войска в двух лагерях. Под командованием Магона были 9000 кельтиберов и различных наемников, карфагеняне находились под началом Ганнона. Лагеря разделяла дорога. В расположении войск Ганнона царил образцовый порядок, дозорная и караульная служба были на должном уровне. Иная ситуация царила в лагере Магона, где совершенно отсутствовало боевое охранение, поскольку кельтиберы высокомерно полагали, что на своей земле им ничего не угрожает.
Об этом было хорошо известно Силану от отправленных вперед разведчиков, поэтому главный удар он решил нанести по лагерю Магона. Когда до него оставалось десять миль, пропретор решил обойти вражеское расположение, приказал легионерам свернуть налево и продолжить путь среди заросших густым кустарником холмов. Карфагенские дозорные не могли разглядеть передвижения легионеров, у кельтиберов это сделать было некому.
Римляне приблизились к вражескому лагерю на расстояние трех миль, однако кельтиберы по-прежнему не замечали их присутствия. Когда легионеры проходили через глубокую лощину, Силан остановил движение войск и приказал располагаться на отдых. Через некоторое время привал был окончен, всю поклажу римляне бросили в лощине, оставив при себе только оружие и доспехи (Liv. XXVIII. 2). Пропретор распорядился начинать наступление, и войска стали разворачиваться в боевой порядок. Когда до вражеского лагеря оставалась одна миля, кельтиберы наконец-то заметили римлян. Поднялась тревога. Магон в это время находился в лагере Ганнона, но как только услышал рев боевых труб кельтиберов, вскочил на коня и умчался в свое расположение. Ганнон приказал солдатам спешно готовиться к бою, чтобы успеть прийти на помощь союзникам.
В сложившейся ситуации Магон допустил грубейшую тактическую ошибку. Вместо того чтобы укрыться в лагере и отражать римские атаки до прибытия солдат Ганнона, он приказал тяжеловооруженной пехоте кельтиберов покинуть укрепления и вступить в бой с легионерами на открытой местности. Еще больше он усугубил ситуацию тем, что оставил за лагерными валами легковооруженную испанскую и наемную пехоту. Карфагенский командующий вводил войска в бой по частям, одна допущенная ошибка усугублялась другой. Свои главные силы – 4000 тяжеловооруженных кельтиберов и 200 всадников – Магон развернул перед лагерными укреплениями (Liv. XXVIII. 2). Однако этих сил было явно недостаточно, чтобы остановить 10 000 воинов Силана. Непонятно, на что рассчитывал Магон, когда принимал такое спорное решение.
Сражение началось атакой легионеров на ряды испанцев, римляне приблизились на расстояние броска и метнули во врагов пилумы. Одни кельтиберы искусно отбивали щитами вражеские копья, другие присели на землю и прикрылись щитами. Затем испанцы встали во весь рост и метнули в легионеров свои копья. Римляне подняли щиты, отразили атаку, затем рванули из ножен мечи и пошли вперед. Навстречу им, потрясая блестевшими на солнце клинками, устремились кельтиберы, битва перешла в рукопашную. Здесь и проявились последствия ошибки Магона, необдуманно выведшего свои лучшие войска за линию укреплений. Кельтиберы оказались лишены свободы маневра, поскольку были зажаты между легионерами и лагерным валом, усугубляла ситуацию и неровная местность.
Впрочем, с теми же проблемами столкнулись и римляне. Если легкие на ногу испанцы не могли свободно передвигаться по полю боя, то легионеры не имели возможности держать плотный строй. Сражение разбилось на сотни поединков, где противники бились один на один или парами. Здесь и сказался численный перевес римлян. Отборные отряды Магона были разгромлены еще до того, как в бой вступили войска Ганнона и подразделения легковооруженной пехоты. Увидев поражение кельтиберов, Магон поспешно покинул лагерь, уведя с собой всю кавалерию и 2000 пеших воинов.