В 216 г. до н. э. по окончании очередного срока командования армией руководство ею приняли консулы Гай Теренций Варрон и Луций Эмилий Павел. Численность республиканской армии насчитывала от 87 до 92 тысяч человек. В тактике боевых действий они придерживались другой стратегии. Карфагеняне начали испытывать острый недостаток в продовольствии. Войска Ганнибала были истощены походами, из Карфагена подкреплений не присылалось. К концу лета съестные припасы в Геронии закончились, и Ганнибал двинулся в Канны. Карфагеняне захватили продовольственный склад римской армии, находившийся в укреплении разрушенного ими городка Канны, рассчитывая этим вызвать римлян на решительный бой. Карфагенская армия расположилась рядом с городом в укрепленном лагере и держала под своим контролем всю окружающую территорию. Между противниками назревал серьезный конфликт.
У селения Канны в юго-восточной Италии, вблизи впадения реки Ауфид (Офанто) в Адриатическое море, 2 августа 216 г. до н. э. произошло крупнейшее сражение Второй Пунической войны. Численность римской армии, по одним данным, составляла около 90 тысяч пехотинцев и шесть тысяч всадников. Карфагенская армия насчитывала 40 тысяч пехоты и 10 тысяч конницы.
В результате сражения армия Ганнибала нанесла сокрушительное поражение превосходящей ее по численности римской армии. Сражение при Каннах продолжалось 12 часов. Приблизительно 60–70 тысяч римлян были убиты, включая консула Луция Эмилия Павла. Кавалерия потеряла 6000 всадников, выжило лишь 370 человек. Кроме того, к потерям относятся 20 офицеров консульского и преторианского ранга, 30 сенаторов и 300 других представителей знати, которые были убиты или взяты в плен. По разным данным, число погибших солдат карфагенской армии составляет от 5700 до 8000. Считается, что по числу жизней, потерянных в один день, Канны попадают в число самых кровопролитных сражений во всей человеческой истории. Битва при Каннах является также одним из наиболее выдающихся примеров военной тактики по окружению численно превосходящих сил противника и ярким примером тактического мастерства карфагенского полководца в военной истории. Но, по мнению большого количества историков, Ганнибал не сумел стратегически воспользоваться плодами победы и заключить мир с Римом на выгодных условиях. При этом численность его войска не была достаточна для оказания необходимого давления на Рим или для осады самого города.
Битва при Каннах, 2 августа 216 г. до н. э.
Здесь следует привести слова начальника карфагенской конницы Магарбала, который сказал, что мечтает через четыре дня пировать на римском Капитолии. Ганнибал ответил, что ему нужно подумать. Тогда Магарбал произнес: «Ты умеешь побеждать, Ганнибал, но не умеешь пользоваться победой». Многие другие командиры подразделений тоже призывали Ганнибала воспользоваться случаем и идти на Рим. Но Ганнибал оценивал ситуацию, сложившуюся после сражения у Канн, иначе, чем его подчиненные.
В те годы Рим стоял на грани полного уничтожения. После битвы под Каннами, когда в Рим пришла весть о поражении, в городе началась паника. Как уже было сказано выше, потери римлян в сражении были значительны: 70 тысяч воинов, в том числе 300 представителей знати и 30 сенаторов. Рыдала каждая семья, так как каждая потеряла сына, мужа или отца. В такой ситуации любое государство немедленно капитулировало бы, но только не Рим. Он не собирался сдаваться. Сенат принял решение: всем мужчинам, способным носить оружие, быть в крепости, а женщинам прекратить выть и причитать. В новые легионы теперь включали безземельных крестьян и рабов. Само слово «мир» было запрещено, траур ограничился 30 днями. «Ганнибал стоял у ворот Рима» – эта фраза наводила ужас на римлян еще долгое время.
Многие историки считают, что армия карфагенян не могла штурмовать Рим из-за большого числа раненых и погибших. Даже обладая полноценной армией, Ганнибалу пришлось бы еще до осады подчинить значительную часть внутренних районов Италии для установления снабжения своих войск. При этом после трех поражений Рим сохранял значительные резервы, имел армии в Иберии, Сицилии, Сардинии, и все это при наличии в Италии самого Ганнибала. Последние победы у Тразименского озера и при Каннах свидетельствовали о том, что стратегическими действиями карфагенян было не уничтожение врага, а деморализация римлян через побоище для принятия противником приемлемых условий мирного договора и лишения его союзников. Действительно, Ганнибал видел цель войны не в уничтожении Рима, а в установлении гегемонии Карфагена в Западном Средиземноморье, возврате Сицилии, Корсики и Сардинии. Кроме того, Рим был очень укрепленным городом, для его осады потребовалась бы техника, которой у Ганнибала не было.
Сразу после своей победы Ганнибал отправил в Рим послов с просьбой начать мирные переговоры с республикой на умеренных условиях. Но сенат отказался от этого предложения, объявив полную мобилизацию всего мужского населения Рима, включая безземельных крестьян и рабов, начиная с 17 лет. Против Ганнибала римляне использовали несколько независимых армий, численно его превосходивших. Вооруженные столкновения происходили, но упор делался на осаду занятых крепостей и отказ от генеральных сражений. Теперь Ганнибал ждал предложения мира от римлян, но его не последовало. Он предложил римскому сенату выкупить пленных и тем начать подготовку к мирным переговорам, но сенат ответил отказом. Тогда он начал активную дипломатическую деятельность, в результате чего на его сторону перешли апулийцы, самниты, луканцы и бруттии.
После битвы при Каннах Ганнибал двинулся к Неаполю, но ввиду приближения зимних холодов не решился его штурмовать и направился к Капуе, где надеялся встретить своих сторонников. Капуя действительно перешла на сторону Ганнибала. Оставив там гарнизон, карфагенский полководец захватил Нуцерию и попытался взять Нолу, но римляне отстояли город и нанесли Ганнибалу поражение. Затем карфагеняне безуспешно попытались склонить к сдаче Ацерры, но, когда их жители отказались, город разграбили и сожгли. После неудачной попытки взять Казилин Ганнибал ушел на зимние квартиры в Капую, которая сулила обильные удобства и удовольствия. Но безделье и пиршества ослабили армию не меньше, чем марши, осады и штурмы. По мнению древнеримских историков, пребывание карфагенских войск на зимних квартирах в Капуе было одной из наиболее серьезных стратегических ошибок Ганнибала, способствовавшей разложению его армии. Однако современные историки отрицают это, аргументируя тем, что и после «разлагающей» зимовки в Капуе Ганнибал в течение многих лет одерживал победы, воюя на юге Италии.
В начале весны 215 г. до н. э. Ганнибал предпринял новое наступление и захватил несколько небольших городов. Но в это время союзники карфагенян в Капуе потерпели поражение, так как не получили вовремя поддержки Ганнибала. Наступательный порыв армии Карфагена в Италии спал. Римляне уклонялись от больших сражений и постепенно начали организовывать карательные экспедиции против новых союзников карфагенян. На юге Италии разгоралась малая война, успех которой зависел от снабжения войск и организации разведки, а не от талантов полководцев. Для решительных успехов Ганнибал остро нуждался в подкреплениях. Чтобы он их не получал, римляне должны были максимально эффективно оттягивать силы Карфагена от Италии на «периферийную войну», театры боевых действий которой располагались на Сицилии, в Испании, Иллирии и Северной Африке.