Ланг, готовившийся к выборам консулов, мечтал прославиться как победитель карфагенян. Вслед за конницей он вывел из лагеря пехоту, которая форсировала Треббию и основательно промерзла в холодной речной воде. Битва началась с действий легкой пехоты, а закончилась фланговыми обходами более многочисленной карфагенской конницы. Римские войска были разгромлены, особенно большие потери понесла их кавалерия.
Римская армия отступала на юг, и карфагеняне заняли всю Северную Италию. Тогда Ганнибал двинулся в Среднюю Италию, где его уже поджидали значительные военные силы противника.
В 217 году на берегах Тразименского озера произошло сражение между армией Ганнибала и 40-тысячным войском римского консула Фламиния. В ходе сражения римляне попали в засаду, устроенную им карфагенянами в дефиле у Тразименского озера. Фламиний во главе своей армии без должной разведки в предрассветном тумане выступил в путь. Балеарские стрелки, африканская пехота и пешие галлы неожиданно напали с гор на колонну римлян. 15 тысяч римских легионеров, в том числе и Фламиний, были убиты. Остатки его армии или разбежались, или были уничтожены во время преследования. После сражения победители опустошили плодородную итальянскую область Кампанию, население ее бежало в Рим.
В 216 году при Каннах состоялось большое сражение, в ходе которого римская армия под командованием Варрона и Эмилия потерпела поистине сокрушительное поражение. Ганнибал умело построил свою армию и решительно атаковал римское войско. Используя свою многочисленную и маневренную легкую конницу, полководец окружил и уничтожил главные силы врага. В битве при Каннах пали около 50 тысяч римских воинов, не считая 6 тысяч пленных; карфагеняне же потеряли всего около 7 тысяч человек.
Однако блестящая победа карфагенской армии при Каннах не сломила республиканского Рима и не привела к распаду римско-итальянского союза, на что так надеялся Ганнибал. Его настойчивая просьба прислать из Карфагена подкрепление осталась без ответа. Он мог рассчитывать только на собственные силы, которые с каждым боевым столкновением с римлянами неумолимо уменьшались.
Не получив подкреплений из Карфагена, Ганнибал обратился за помощью к младшему брату, Гаструбалу, командовавшему карфагенскими войсками в Испании. Тот откликнулся на его призыв, но о перемещении войск Гаструбала стало известно римскому полководцу Клавдию Нерону. В 207 году римляне устроили противнику засаду у реки Метавр и разбили его.
В доказательство своей победы они прислали Ганнибалу отрубленную голову брата. Однако он и не думал покидать Италию, продолжая с большим упорством вести боевые действия. Тем временем тактика Рима, направленная на затягивание войны и истощение сил карфагенской армии на итальянской земле, стала давать свои результаты. Оторванность от тыловых баз поставила войска Ганнибала в крайне затруднительное положение.