Римляне решили назначить диктатора, которым стал Квинт Фабий, прозванный Кунктатором (Медлительным) из-за выбранной им тактики. Сознавая как моральное, так и численное превосходство армии Ганнибала, Фабий избегал открытого сражения. Он пытался измотать противника длительными переходами в зимнее время и отсутствием в достаточном количестве продовольствия. Имея за плечами вражескую армию, Ганнибал не решился идти на Рим, а безуспешно гонялся за Фабием по Южной Италии. Однако медлительность Фабия вызвала недовольство среди римлян, многие из которых владели плодородными землями на юге Апеннинского полуострова. Диктатор был смещен, а военное руководство перешло к новому консулу Теренцию Варрону, который незамедлительно начал готовиться к генеральному сражению. Оно состоялось в начале 216 г. до н. э. при Каннах и окончилось блестящей победой Ганнибала, став на многие столетия примером военного искусства. По непонятной причине Ганнибал не решился идти на Рим, а терял время в переговорах с самнитской верхушкой, пытаясь привлечь недавно воевавшую с Римом народность на свою сторону.
Римские войска между тем успешно воевали в Испании, Македонии, на Сицилии. В 213 г. до н. э. они осадили Сиракузы, в 212 г. до н. э. – Капую, которую Ганнибал сделал своей резиденцией в Италии. Оба города были взяты, причем при взятии Сиракуз погиб великий греческий ученый Архимед, находившийся на службе у сиракузского тирана. По существу исход войны был предрешен. Однако карфагеняне еще дважды вторгались в Италию (207 и 205 гг. до н. э.), но оба раза неудачно.
Тиберий Гракх
Ганнибал оказался запертым на южной оконечности Апеннинского полуострова, а римские легионы тем временем одерживали важные победы в Испании. В 206 г. до н. э. Публий Сципион взял последнее укрепление карфагенян Гадес (соврем. Кадис). В следующем году Сципион был избран консулом и назначен правителем Сицилии с правом перенесения военных действий в Африку, где римляне не замедлили высадиться. В 202 г. до н. э. Сципион разбил в битве при Заме вернувшегося на родину Ганнибала, а в следующем году был заключен мир, согласно которому Карфаген терял все свои владения за пределами Африки, весь свой флот и обязался выплачивать в течение 50 лет весьма значительную контрибуцию. Публий Сципион получил почетное прозвище Африканский.
Рим стал крупнейшей военной и политической силой на Средиземном море. Римляне ведут войны в Македонии, где в 197 г. наносят сокрушительное поражение царю Филиппу V в битве при Киноскефалах, затем овладевают Грецией, где разрушают Коринф. В середине II в. до н. э. был добит Карфаген (III Пуническая война велась в 149–146 гг. до н. э.). Тогда же Македония стала римской провинцией.