Он все еще не спешил нападать на Рим, поскольку осознавал, что незавоеванная Италия представляла огромную опасность. Тем временем Квинт Фабий, ставший диктатором, избрал тактику уклонения от больших сражений, изматывая карфагенян неожиданными нападениями. Но римские плебеи, неохотно пошедшие на эту тяжелую войну, смотрели на затяжку ее, как на явление разорительное для бедного люда, создалась целая демагогическая агитация против осторожной стратегии Фабия, прозванного Кунктатором (Медлителем). В итоге презиравший такое поведение нетерпеливый магистр конницы Мунций Руф получил от сената статус командира, равного диктатору, и решил дать противнику сражение при Геронии. И только чудо – своевременная помощь Фабия – спасла честолюбивого Руфа от разгрома.
Пока велись боевые действия в Испании, где братья Сципионы, один из которых был отцом будущего Сципиона Африканского, потеснили карфагенян и их союзников, Рим, благодаря выигранному Фабием времени, все же собрал большую 86-тысячную армию, назначив ее командирами Эмилия Павла и Теренция Варрона.
Но Ганнибал так и не сделал даже попытки перейти от угрозы Риму к его атаке. Он пошел иным путем. Дело в том, что в то время только одна треть Италии представляла собой полноправную территорию римской республики, две трети представляли подчиненные, еще не забывшие своей былой самостоятельности. Именно к ним и обратился Ганнибал, подчеркивая, что он явился в Италию не для завоевания, а для освобождения народов. Пленных италиков Ганнибал отпускал на родину, чтобы они могли разносить вести о его могуществе и благородстве, а пленных римлян продавал в рабство тысячами.
В конце июля 216 года до н.э. Ганнибал быстрым маршем провел 50 000 своих солдат в Канны и захватил там римские склады с провиантом, бросив вызов армии римлян, стоявшей у реки Ауфид (Офанто).
2 августа, в день, когда командование у римлян перешло к Теренцию Варрону, Ганнибал, несмотря на превосходство врага, был уверен в победе. Но ординарной победы Ганнибалу было недостаточно – ему нужно было полное уничтожение римской армии, и эту цель он отчетливо поставил перед собой.
Он вывел на поле сражения свою армию в шести колоннах. Две средних, общим числом 20 000, образовывались более слабой иберийской и галльской пехотой, которым суждено было выдерживать основной натиск римлян. Чтобы морально поддержать этих воинов, Ганнибал со своим братом и штабом расположился за ними. Их окружали две колонны по 6000 африканских испытанных ветеранов. Наконец, фланговые колонны были чисто кавалерийские: на левом фланге – тяжеловооруженная конница – «кирасиры» Гасдрубала, на правом – легкая, преимущественно нумидийская конница. Всего 10 000 всадников. Равное с римлянами число легковооруженных всадников маскировало фронт Ганнибала. Боевое расположение получалось в виде подковы.
Римляне – 55 000 гоплитов, 8000 легковооруженных, 6000 всадников, а также 10-тысячный гарнизон, оставленный в лагере, – были построены в особенно глубокую фалангу (манипулы – 10 человек по фронту, 12 в глубину), в общем не менее 34 шеренг. Такая глубина вызывалась стремлением развить максимальный натиск и не слишком затруднять наступление непомерной длиной фронта пехоты, которая растянулась на довольно большое расстояние. Конницу распределили по флангам.
Само поле сражения, избранное Варроном на северном берегу Ауфида, представляло широкую равнину, ограниченную на юге рекой, на севере – густым кустарником, защищавшими фланги римлян от охватов неприятельской конницей.
Когда начался бой, Гасдрубал с «кирасирами» опрокинул римских всадников и выслал отряд на помощь нумидийцам, которые вели бой с римскими всадниками левого крыла. Главная же масса конницы Гасдрубала набросилась на тыл римской фаланги и сумела потеснить ее.
На фронте римляне решительно атаковали галлов и испанцев, нанесли им большие потери и заставили карфагенский центр попятиться. Но присутствие здесь Ганнибала удержало галлов от разрыва фронта и бегства. В решительную минуту, под влиянием удара с тыла, римская фаланга остановилась.
Остановка для фаланги означала ее гибель. С флангов ударили африканцы, на римлян посыпались дротики и стрелы. Только крайние шеренги окруженной толпы римских легионеров могли действовать оружием – задние были способны при атаке увеличить натиск, но при остановке фаланги представляли только мишени для летящих камней, дротиков и стрел. Почуяв победу, карфагенские наемники стали теснить повсюду римлян, которым все труднее было действовать оружием. Положение последних становилось безысходным.