После победы при Каннах многие племена центральной и южной Италии перешли на сторону Ганнибала, а также такие города, как Капуя в Кампании, Сиракузы в Сицилии. Тем не менее силы карфагенян истощались, стратегия Фабия Максима приносила свои результаты. Карфагеняне были вынуждены переходить от наступательной к оборонительной тактике. Чтобы отвлечь войска римлян от начатой ими весной 211 осады Капуи, Ганнибал предпринял наступление на Рим, вызвавшее панику среди населения города (слова «Ганнибал у ворот» — лат. Hannibal ante portas — стали поговоркой) . Однако для осады Рима сил у Ганнибала было уже недостаточно
Положение Ганнибала, не получавшего должной поддержки из Карфагена, стало тяжелым. Наступление римлян возглавил Публий Корнелий Сципион, сын консула 218 года. В Испании римляне захватили Новый Карфаген, а в 207 вытеснили карфагенян с Пиренейского п-ва. В 204 римляне высадились в Африке недалеко от г. Утики, карфагенскому правительству пришлось отозвать Ганнибала из Италии