Аннибал, знакомый, как и всегда, с личностью противника, прошел недалеко от римлян, не атакуя их, а только приказал кельтам безжалостно опустошать окрестности, чтобы показать жителям, как мало дарует им близость римлян.
Фламиний, разумеется, тотчас решил дать дерзкому врагу хороший урок. Немедленно он двинулся вслед за ним и настиг его у озера Тразименского. Аннибал между тем успел, не спеша, выбрать место для битвы — узкий проход, в начале которого было озеро, в конце — высокий холм. Не подозревая ловушки Фламиний вступил туда с войском; между тем Аннибал уже заранее окружил его с трех сторон, и едва передовые римские отряды подошли к холму, как конница преградила выход у озера, и в то же время подан был сигнал к битве. Это было не сражение а бойня: римлян пало около 15 000, столько же было взято в плен; Аннибал потерял всего 1 500 человек; к довершению всего, отряд, посланный Сервилием с востока на подмогу товарищу, был также разбит и взят в плен карфагенянами.
Этрурия была потеряна; враг ежеминутно мог появиться под стенами Рима. Но римляне не потеряли мужества: они избрали диктатора — Фабия Максима, приготовились к осаде и сломали мосты через Тибр.
Аннибал, однако же, рассчитал иначе: он не пошел ни на Рим, ни даже против Сервилия, а двинулся через области Умбрию и Пиценум к берегам Адриатического моря, без пощады разоряя римские поселения. Там он мог дать отдохнуть своим измученным войскам и вместе с тем предпринять трудное и смелое дело перевооружения своих войск по римскому образу, пользуясь множеством добытого у римлян оружия. Когда эта реформа была закончена, Аннибал медленно двинулся по направлению к южной Италии.
Но напрасно ожидал Аннибал, что союзники Рима — сабинские и латинские города — перейдут на его сторону: один город за другим закрывал перед ним свои ворота, ни одна итальянская община не согласилась вступить в союз с карфагенянами. Для римлян эта верность союзников была делом громадной важности; но римляне понимали, что нельзя оставлять союзников без помощи, что римское войско должно оказать им поддержку.
Квинт Фабий, назначенный диктатором, был уже пожилой человек, известный своей твердостью и обдуманностью, которую многие считали медлительностью и упрямством. Это был настоящий римлянин старого закала, почитатель старины, сторонник сената и аристократической партии. Он решил вести войну совершенно иначе, чем вели ее до тех пор, — избегать битвы в открытом поле, но зато утомлять противника мелкими нападениями и мешать ему запасаться провиантом.
Аннибал решил и на этот раз сообразовать свой образ действий с характером противника: он подошел к Капуе, самой сильной и потому наиболее притесняемой из римских союзных общин, но надежды взять ее были напрасны.
Римляне все время держались невдалеке от карфагенян, но не вступали в битву, даже при виде нумидийской конницы Аннибала, безжалостно опустошавшей селения верных союзников. Когда же карфагеняне повернули назад, Фабию удалось запереть их в горном проходе близ местечка Казилинума. Но Аннибал приказал своим легковооруженным воинам взобраться на высоты, окружающие проход, и там с наступлением ночи погнать перед собой огромное стадо быков, к рогам которых привязаны были зажженные пучки хвороста. Римляне, уверенные, что это уходит карфагенская армия, покинули загражденную ими дорогу, и Аннибал преспокойно прошел по ней со своей армией, а на другой день выручил отряд, посланный им на высоты, и ушел на Апулию, опустошая и разоряя все на своем пути.
Но и теперь ни один итальянский город не сдался Аннибалу. Он решил провести зиму в Апулии и устроил себе укрепленный лагерь близ города Геруниума: было как раз время жатвы, и ежедневно две трети войска отправлялись в окрестные селения, чтобы добывать провиант на зиму.
В римском лагере, между тем, начались несогласия; в отсутствие Фабия, уехавшего в Рим, командование перешло в руки начальника конницы молодого Минуция. Минуцию несколько раз удалось отбить отряды карфагенян, вышедшие на фуражировку. Этого было достаточно, чтобы возбудить против Фабия бурю негодований и в лагере, и в Риме, за его нерешительность, за бесполезную трату времени. Римские демагоги (народные вожди), ненавидевшие Фабия, добились того, что, вопреки обычаям и законам римского государства, диктаторская власть разделена была между Минуцием и Фабием. Вскоре после этого необдуманность Минуция чуть не погубила римлян: с незначительными силами он двинулся навстречу Аннибалу и был бы разбит, если бы Фабий вовремя не пришел ему на помощь. Аннибал же, запасшись провиантом на всю зиму, спокойно продолжал стоять лагерем в Апулии.
Но римский сенат не терял бодрости; решено было снарядить небывалое войско — шесть легионов (тяжело вооруженных воинов). Римская армия таким образом была почти вдвое сильнее неприятельской; недоставало только хорошего предводителя. О Фабии нечего было и думать: народ громко роптал на его способ ведения войны; говорили даже, будто он намеренно ее затягивает. С трудом удалось добиться сенату выбора одного из своих кандидатов — Эмилия Павла: в товарищи ему был выбран Варрон, грубый, неспособный человек, известный только своими демократическими убеждениями и постоянной оппозицией сенату. В то время как в Риме велись эти приготовления, Аннибал двинулся еще далее на юг к крепости Канны, в которой находились римские склады провианта и оружия.
Огромное римское войско последовало за ним. Аннибал желал открытой битвы: победа могла принести ему именно теперь огромную пользу, поколебав римских союзников; обширная же равнина близ Канн, на которой превосходно могла развернуться конница, обещала верный успех.
Положение римлян было не так выгодно, и Эмилий Павл, ученик и сторонник Фабия, советовал не торопиться вступать в битву, а лучше заставить покинуть Аннибала свою выгодную позицию близ Канн. К сожалению, решающий голос в военном совете принадлежал обоим консулам по очереди; Варрон же думал только о том, чтобы поскорее померяться с врагом и, как только пришла его очередь, решил дать большое сражение в открытом поле. Римская кавалерия, как и всегда, выстроилась на флангах, пехота — в центре. Аннибал выстроил свою пехоту в виде полумесяца, причем в средине стояли кельты и иберийцы в национальном вооружении, по бокам — ливийцы в римских доспехах; конница, как и у римлян, расположилась по обе стороны пешего войска. Вскоре битва закипела по всей линии войск. Легионы без труда опрокинули стоявшие против них кельтские отряды и погнали их перед собою. Между тем стоявшей на левом крыле тяжеловооруженной коннице под начальством Гасдрубала удалось одолеть правое крыло римлян и обратить их в бегство. Легионы же, преследуя бегущих кельтов, принуждены были остановиться, наткнувшись на нетронутые еще отряды ливийцев, которые тотчас же с обеих сторон набросились на них. Гасдрубал, разбив правое крыло римлян, прошел позади неприятельского войска и ударил в тыл левому крылу, и без того уже утомленному непрерывными атаками легкой нумидийской конницы. Римляне не выдержали неожиданного натиска и побежали. Неутомимый Гасдрубал, предоставив нумидийцам преследовать бегущих, еще раз собрал свои отряды и направил их против легионов, которые все еще продолжали держаться. Это решило дело. Бегство было немыслимо, пощады же не давали; никогда, быть может, столь огромное войско не бывало разбито так окончательно и с таким незначительным уроном для победителя: Аннибал потерял 6 000 человек, из которых большинство были кельты; римлян пало 70 000, в том числе консул Эмилий Павл, две трети штаб-офицеров, восемьдесят лиц из сенатского сословия. Варрон спасся бегством и укрылся в Венузии.