Пока велись боевые действия в Испании, где братья Сципионы, один из которых был отцом будущего Сципиона Африканского, потеснили карфагенян и их союзников, Рим, благодаря выигранному Фабием времени, все же собрал большую 86-тысячную армию, назначив ее командирами Эмилия Павла и Теренция Варрона.
Но Ганнибал так и не сделал даже попытки перейти от угрозы Риму к его атаке. Он пошел иным путем. Дело в том, что в то время только одна треть Италии представляла собой полноправную территорию римской республики, две трети представляли подчиненные, еще не забывшие своей былой самостоятельности. Именно к ним и обратился Ганнибал, подчеркивая, что он явился в Италию не для завоевания, а для освобождения народов. Пленных италиков Ганнибал отпускал на родину, чтобы они могли разносить вести о его могуществе и благородстве, а пленных римлян продавал в рабство тысячами.
В конце июля 216 года до н.э. Ганнибал быстрым маршем провел 50000 своих солдат в Канны и захватил там римские склады с провиантом, бросив вызов армии римлян, стоявшей у реки Ауфид (Офанто).
2 августа, в день, когда командование у римлян перешло к Теренцию Варрону, Ганнибал, несмотря на превосходство врага, был уверен в победе. Но ординарной победы Ганнибалу было недостаточно - ему нужно было полное уничтожение римской армии, и эту цель он отчетливо поставил перед собой.
Он вывел на поле сражения свою армию в шести колоннах. Две средних, общим числом 20000, образовывались более слабой иберийской и галльской пехотой, которым суждено было выдерживать основной натиск римлян. Чтобы морально поддержать этих воинов, Ганнибал со своим братом и штабом расположился за ними. Их окружали две колонны по 6000 африканских испытанных ветеранов. Наконец, фланговые колонны были чисто кавалерийские: на левом фланге - тяжеловооруженная конница - «кирасиры» Гасдрубала, на правом - легкая, преимущественно нумидийская конница. Всего 10000 всадников. Равное с римлянами число легковооруженных всадников маскировало фронт Ганнибала. Боевое расположение получалось в виде подковы.
Римляне - 55000 гоплитов, 8000 легковооруженных, 6000 всадников, а также 10-тысячный гарнизон, оставленный в лагере, - были построены в особенно глубокую фалангу (манипулы - 10 человек по фронту, 12 в глубину), в общем не менее 34 шеренг. Такая глубина вызывалась стремлением развить максимальный натиск и не слишком затруднять наступление непомерной длиной фронта пехоты, которая растянулась на довольно большое расстояние. Конницу распределили по флангам.
Само поле сражения, избранное Варроном на северном берегу Ауфида, представляло широкую равнину, ограниченную на юге рекой, на севере - густым кустарником, защищавшими фланги римлян от охватов неприятельской конницей.
Когда начался бой, Гасдрубал с «кирасирами» опрокинул римских всадников и выслал отряд на помощь нумидийцам, которые вели бой с римскими всадниками левого крыла. Главная же масса конницы Гасдрубала набросилась на тыл римской фаланги и сумела потеснить ее.
На фронте римляне решительно атаковали галлов и испанцев, нанесли им большие потери и заставили карфагенский центр попятиться. Но присутствие здесь Ганнибала удержало галлов от разрыва фронта и бегства. В решительную минуту, под влиянием удара с тыла, римская фаланга остановилась.
Остановка для фаланги означала ее гибель. С флангов ударили африканцы, на римлян посыпались дротики и стрелы. Только крайние шеренги окруженной толпы римских легионеров могли действовать оружием - задние были способны при атаке увеличить натиск, но при остановке фаланги представляли только мишени для летящих камней, дротиков и стрел. Почуяв победу, карфагенские наемники стали теснить повсюду римлян, которым все труднее было действовать оружием. Положение последних становилось безысходным.
После долгого побоища было убито 48000 римлян, среди которых оказались 25 высших командиров и консул Эмилий Павел. 6000 римлян оказались в плену. Пробились немногие: из остатков 16 легионов римлянам позже удалось сформировать только 2 легиона. Сам Варрон затерялся где-то среди беглецов.
Это весьма приближенные цифры, поскольку о потерях в битве при Каннах существуют весьма разноречивые данные. Тит Ливии утверждает, что погибло 48200 римлян и их союзников, а 19500 (!) были взяты в плен. Полибий считает, что погибло около 70000 (!) римлян, а спастись сумели лишь 3 тысячи. Евтропий утверждает, что в римском войске погибло 60000 пехотинцев, 3,5 тысячи кавалеристов и 350 сенаторов и других знатных людей. Орозий говорит о 44 тысячах убитых, а Флор - о 60 тысячах. Плутарх называет цифру в 50000 погибших. По его сведениям, 4 тысячи римлян попали в плен в ходе сражения, а еще 10000 были взяты позднее в обоих лагерях. Потери же карфагенян, по данным Ливия, составили 8 тысяч убитых, а по данным Полибия - 5700. У римлян погибли консул Эмилий Павел, 21 военный трибун и 80 сенаторов.
Однако цифры, относящиеся к римским потерям, и описание хода сражения римскими историками не заслуживают доверия. Да и вопрос об источниках, откуда римские историки почерпнули сведения о битве при Каннах, равно как и о многих других битвах, остается открытым. Ясно, что уцелевшие после сражения легионеры и даже центурионы и трибуны не в состоянии были бы дать более или менее полную картину сражения. Относительной полнотой информации мог владеть только уцелевший консул Теренций Варрон или кто-то из близких к нему старших офицеров. Однако, если судить по сообщениям тех же Плутарха, Тита Ливия и Аппиана, римские военачальники уже в середине битвы утратили управление войсками и не знали точно, что происходит. Очевидно, истинную картину Канн мог бы дать Ганнибал или кто-то из его ближайших соратников, но они, насколько известно, мемуаров не оставили, а если и оставили, то в исторической традиции они не отразились.
Неразгаданной загадкой остается, почему римская пехота, успешно теснившая галлов, даже будучи окруженной, не смогла, как в битве при Треббии, прорвать ослабевший неприятельский фронт, якобы умышленно сделанный Ганнибалом в центре значительно тоньше, чем на флангах, и спастись? Тит Ливий утверждает: «…После продолжительных и многократных усилий римляне своим плотным строем, представлявшим косую линию, сломили выдававшуюся из остального строя неприятельскую фалангу, которая была редка, а потому весьма слаба. Затем, когда пораженные враги в страхе попятились назад, римляне стали наступать на них и, двигаясь через толпу беглецов, потерявших от ужаса голову, разом проникли сперва в середину строя и наконец, не встречая никакого сопротивления, добрались до вспомогательных отрядов африканцев, которые по отступлении обоих флангов остались в центре, значительно выдававшемся и занятом прежде галлами и испанцами. Когда воины, составлявшие этот выступ, были обращены в бегство, и таким образом линия фронта сперва выпрямилась, а затем, вследствие дальнейшего отступления, образовала в середине еще изгиб, то африканцы уже выдвинулись вперед по бокам и окружили флангами римлян, которые неосмотрительно неслись в центр врагов. Вытягивая фланги далее, карфагеняне скоро заперли врагов и с тыла. С этого момента римляне, окончив бесполезно одно сражение и оставив галлов и испанцев, задние ряды которых они сильно били, начинают новую битву с африканцами, неравную не только потому, что окруженные сражались с окружающими, но также и потому, что уставшие боролись с врагом, силы которого были свежи и бодры…»
Римский историк никак не объясняет, почему вдруг римляне перестали преследовать уже обращенных в бегство галлов и иберов. Ведь передние ряды их пехоты, преследующие карфагенский центр, все равно не могли принять участия в схватке с зашедшими с флангов африканцами. Непонятно также, почему не смогла избежать гибели римская и союзная пехота, которой ничего не стоило уйти от тяжеловооруженных неприятельских гоплитов.
Даже если взять наименьшую из приводимых в источниках цифру карфагенских потерь при Каннах - около 6000 убитых, то этому числу должно соответствовать никак не меньше 10000 раненых. В таком случае к концу сражения Ганнибал должен был иметь в строю не более 34000 воинов. Каждый из них за время сражения должен был уничтожить как минимум одного неприятельского воина. И это при том, что реально в рукопашной схватке участвовало лишь меньшинство армии - только бойцы передовых шеренг…