В течение четырех дней и трех ночей армия Ганнибала шла по дороге, покрытой водой, через топкие болота с ядовитыми испарениями. Ганнибал вышел в тыл войскам Фламиния в районе Тразименского озера. Здесь им была организована засада, в которую попала, а затем была уничтожена армия Фламиния.
Однако после этой победы Ганнибал не пошел на Рим, а занялся созданием коалиции из подчиненных Риму племен. Против Рима восстали почти все племена Северной Италии, кроме ценоманов. Через Умбрию Ганнибал двинулся к побережью Адриатического моря, на Апулию; он рассчитывал разрушить римско-италийский союз в Центральной и Южной Италии. После официального сообщения Ганнибала в Карфаген о боевых действиях за два года карфагенский сенат принял решение оказать помощь пунийцам в Италии и Испании.
С назначением диктатором Фабия Максима Ганнибал стал терпеть неудачи. Для пополнения запасов продовольствия пунийцам приходилось отлучаться из лагеря или с места стоянки. Большей частью фуражиры погибали от рук римлян. Армия Ганнибала стала уменьшаться, а обещанные сенатом подкрепления не приходили.
Ганнибал не встретил поддержки в Центральной Италии и был вынужден прибегнуть к жестоким репрессиям, что еще более настроило против Ганнибала местное население. Его надежды на восстание рабов в Риме также не оправдались.
После зимовки в лагере около Гереония в 217–216 годах до н. э. Ганнибал продолжал оставаться в Апулии. Здесь он одержал одну из самых громких своих побед, разгромив римские войска при Каннах (2 августа 216 года до н. э.). В этом сражении были уничтожены около 70 тысяч римлян. Однако и тогда пунийский полководец не пошел на Рим со своей ослабленной армией. Карфагенский сенат по-прежнему не поддерживал Ганнибала ни деньгами, ни флотом, ни воинами, опасаясь усиления его войска. А сам Ганнибал все еще надеялся на выступления против Рима его союзников. Медлительность Ганнибала помогла Риму восстановить боеспособность своей армии. Однако для Рима стало страшным испытанием не столько поражение при Каннах, сколько переход на сторону Карфагена италийских общин, прежде всего самнитов, надеявшихся избавиться от римского порабощения. Ганнибалу удалось овладеть Самнием, Компсом и столицей Кампании Капуей, вторым по значению городом Италии. От исхода битвы за Капую зависело, какую позицию займут колеблющиеся общины.
Капуанцы вступали в союз с Ганнибалом с целью захвата власти над всем Апеннинским полуостровом. Так же как и Капуя, другие италийские города добивались равноправного союза с Ганнибалом, который обещал сохранить их независимость, земли, а также освободить от всех повинностей и налогов.
Скоро Ганнибал убедился, что его планы по созданию антиримской коалиции из центральных, южноиталийских и греческих городов во главе с Капуей терпят провал. Несмотря на все попытки подчинить себе города Кампании, Ганнибал и примкнувшая к нему Капуя так и не смогли добиться успеха.
Численность пунийской армии продолжала уменьшаться. Чтобы отвлечь силы римлян, Ганнибал заключил союз с царем Македонии Филиппом V, который надеялся вернуть Иллирию, частично находившуюся под властью Рима. Ганнибал также рассчитывал на создание антиримского союза из эллинистических государств. К союзу с Римом присоединились Сиракузы, рассчитывавшие освободиться от римской зависимости.
Ганнибал понимал, что с имеющимися силами он не может ни захватить Рим, ни покорить латинов, и продолжал надеяться на помощь сената. Снабжение пунийского войска продолжало ухудшаться, союзники отказывались брать на постой его армию, а грабить их Ганнибал не мог, поскольку это могло бы окончательно оттолкнуть их от него. Ганнибалу пришлось довольствоваться разорением земель римских союзников.
В 212 году до н. э. после продолжительной осады римляне овладели Капуей. Во время осады Ганнибал почти вплотную приблизился к городу, чтобы оказать помощь капуанцам, но так и не смог прорваться сквозь римские заслоны.
Ганнибал решил устроить демонстративный поход на Рим, чтобы отвлечь внимание от осажденной Капуи, но римляне скоро убедились, что реальная опасность отсутствует. Ганнибал не смог ни овладеть Римом, ни поднять против Рима латинские племена и снова ушел на юг Апеннинского полуострова.
Сразу же после падения Капуи от Ганнибала стали отпадать присоединившиеся к нему италийские города. Ганнибал был вынужден размещать в них гарнизоны и еще более ослаблял свое войско. Иногда он прибегал к жестоким репрессиям в отношении изменивших ему городов, и это еще более настраивало против него их население.