Восемь тысяч воинов утром 2 августа 216 года до н.э. Ганнибал
оставил для защиты своего укрепленного лагеря. Остальная часть войска
была выстроена в линию, примыкавшую левым флангом к реке. Этим Ганнибал
гарантировал себя от обхода римской кавалерией с этой стороны. Фланг
этот был также защищен отрядом галло-испанской кавалерии Газдрубала.
Правый фланг примыкал к побережью Адриатического моря. В центре порядка
Ганнибалом была выставлена галльская пехота . По краям галльской и испанской пехоты располагались фаланги африканской пехоты.
Варрон в начале битвы попытался атаковать лагерь Ганнибала отрядом в 11
тысяч воинов. Постепенно римский полководец был вынужден ввести в бой
всю массу своих войск. Пехота была выстроена в глубину громадной
колонной. По фронту 65 тысяч римлян заняли пространство, которое
занимали 32 тысячи воинов Ганнибала. На правом фланге римлян действовали
2400 всадников, на левом – 4800.
В ходе боя легкой пехоты кельты-галлы продвинулись вперед – их боевая
линия выгнулась дугой. Тяделые фаланги африканцев остались на месте.
На левом фланге карфагенян конница Газдрубала разгромила слабую
кавалерию римлян. Газдрубал обогнул тыл римского войска и врезался в
ряды конницы союзников Рима. Атаки с тыла всадники Варрона не смогли
выдержать, ведь с фронта на них наседали нумидийцы. Всадники легкой
нумидийской кавалерии бросились догонять разбитого врага, а галлы и испанцы
повернули своих коней в тыл пехоте Варрона. В центре римляне почти
прорубались сквозь тонкую линию пеших галлов и испанцев. Варрон бросил
на прорыв строя Ганнибала все свои резервы – триариев и принципов.
Фаланга римлян давила, как громадный таран.