На фронте римляне решительно атаковали галлов и испанцев, нанесли им большие потери и заставили карфагенский центр попятиться. Но присутствие здесь Ганнибала удержало галлов от разрыва фронта и бегства. В решительную минуту, под влиянием удара с тыла, римская фаланга остановилась.
Остановка для фаланги означала ее гибель. С флангов ударили африканцы, на римлян посыпались дротики и стрелы. Только крайние шеренги окруженной толпы римских легионеров могли действовать оружием – задние были способны при атаке увеличить натиск, но при остановке фаланги представляли только мишени для летящих камней, дротиков и стрел. Почуяв победу, карфагенские наемники стали теснить повсюду римлян, которым все труднее было действовать оружием. Положение последних становилось безысходным.
После долгого побоища было убито 48 000 римлян, среди которых оказались 25 высших командиров и консул Эмилий Павел. 6000 римлян оказались в плену. Пробились немногие: из остатков 16 легионов римлянам позже удалось сформировать только 2 легиона. Сам Варрон затерялся где-то среди беглецов.
Это весьма приближенные цифры, поскольку о потерях в битве при Каннах существуют весьма разноречивые данные. Тит Ливий утверждает, что погибло 48 200 римлян и их союзников, а 19 500 (!) были взяты в плен. Полибий считает, что погибло около 70 000 (!) римлян, а спастись сумели лишь 3 тысячи. Евтропий утверждает, что в римском войске погибло 60 000 пехотинцев, 3,5 тысячи кавалеристов и 350 сенаторов и других знатных людей. Орозий говорит о 44 тысячах убитых, а Флор – о 60 тысячах. Плутарх называет цифру в 50 000 погибших. По его сведениям, 4 тысячи римлян попали в плен в ходе сражения, а еще 10 000 были взяты позднее в обоих лагерях. Потери же карфагенян, по данным Ливия, составили 8 тысяч убитых, а по данным Полибия – 5700. У римлян погибли консул Эмилий Павел, 21 военный трибун и 80 сенаторов.
Однако цифры, относящиеся к римским потерям, и описание хода сражения римскими историками не заслуживают доверия. Если судить по сообщениям тех же Плутарха, Тита Ливия и Аппиана, римские военачальники уже в середине битвы утратили управление войсками и не знали точно, что происходит. Очевидно, истинную картину Канн мог бы дать Ганнибал или кто-то из его ближайших соратников, но они, насколько известно, мемуаров не оставили, а если и оставили, то в исторической традиции они не отразились.
Неразгаданной загадкой остается, почему римская пехота, успешно теснившая галлов, даже будучи окруженной, не смогла, как в битве при Треббии, прорвать ослабевший неприятельский фронт, якобы умышленно сделанный Ганнибалом в центре значительно тоньше, чем на флангах, и спастись? Тит Ливий утверждает: «…После продолжительных и многократных усилий римляне своим плотным строем, представлявшим косую линию, сломили выдававшуюся из остального строя неприятельскую фалангу, которая была редка, а потому весьма слаба. Затем, когда пораженные враги в страхе попятились назад, римляне стали наступать на них и, двигаясь через толпу беглецов, потерявших от ужаса голову, разом проникли сперва в середину строя и, наконец, не встречая никакого сопротивления, добрались до вспомогательных отрядов африканцев, которые по отступлении обоих флангов остались в центре, значительно выдававшемся и занятом прежде галлами и испанцами. Когда воины, составлявшие этот выступ, были обращены в бегство, и таким образом линия фронта сперва выпрямилась, а затем, вследствие дальнейшего отступления, образовала в середине еще изгиб, то африканцы уже выдвинулись вперед по бокам и окружили флангами римлян, которые неосмотрительно неслись в центр врагов. Вытягивая фланги далее, карфагеняне скоро заперли врагов и с тыла. С этого момента римляне, окончив бесполезно одно сражение и оставив галлов и испанцев, задние ряды которых они сильно били, начинают новую битву с африканцами, неравную не только потому, что окруженные сражались с окружающими, но также и потому, что уставшие боролись с врагом, силы которого были свежи и бодры…»