командовал молодой полководец по имени Гней Корнелий Сципион, к которому вскоре присоединился его брат Публий. Прямым следствием этого вторжения стало длительное противостояние между римлянами и карфагенянами, которое завершилось утверждением римского присутствия в Испании (ему было суждено продлиться шесть столетий). После кончины обоих Сципионов в 211 году сменил родич, тоже Публий, который после недолгой осады захватил Картахену. С взятием столицы испанской колонии карфагеняне утратили боевой дух, и в 206 году последний из них покинул полуостров.
Будучи вынужден воевать с римлянами в Испании, Гасдрубал попросту не мог набрать войско для помощи своему брату – вплоть до 206 года, когда он понял, что побежден. В следующем году, впрочем, он все-таки выступил в поход, через южную Францию и через Альпы, не подозревая о грядущей катастрофе; на реке Метавр, недалеко от Анконы, его встретило римское войско, буквально растоптавшее карфагенян. Ганнибал узнал о случившемся, когда в его лагерь под Капуей доставили отрубленную голову брата. Он провел в Италии еще четыре года, хотя разумнее было бы вернуться домой, ибо по всему Средиземноморью молодой Публий Сципион уже перешел в наступление.
В 204 году Сципион высадился на побережье Северной Африки, в Утике, менее чем в двадцати милях к западу от Карфагена, разгромил 20-тысячные местные силы и занял плацдарм на побережье Тунисского залива, угрожая Карфагену. Весной 203 года Ганнибал, серьезно обеспокоенный ситуацией, поспешил в Карфаген и в следующем году вывел против римлян войско численностью 37 000 мужчин пехотинцев и восемьдесят слонов. Решающее сражение произошло у поселения Зама, где после долгой и упорной схватки Ганнибал потерпел единственное крупное поражение в своей необыкновенной карьере. Победа римлян была полной. Им досталась вся Испания: Карфаген официально отказался от Пиренейского полуострова. Сам Ганнибал, который чудом избежал смерти на поле боя, прожил до 183 года, когда он принял яд, чтобы избежать пленения ненавистным врагом. Что касается победителя Сципиона, того удостоили вполне заслуженного почетного прозвища Африканский. Именно он, а не кто-либо другой среди его соотечественников, сделал все для того, чтобы Рим, а не Карфаген, был властелином Средиземноморья в последующие столетия.
В ходе Второй Пунической войны принадлежавшая римлянам Сицилия служила критически важной преградой, отделявшей Ганнибала в Италии от источника подкреплений и снабжения в Карфагене. Также она представляла собой отличный «трамплин» для набегов на Африку (из Лилибеи) и на Италию (из Мессины). Пока был жив Гиерон, римляне не испытывали никаких сложностей, однако после его смерти в 215 году все изменилось. Внук и наследник старого тирана Иероним заключил договор с Карфагеном; пускай он почти сразу после этого был убит, Сиракузы продолжали держать сторону Карфагена. Римляне прислали войско под командованием полководца Марцелла, который осадил город; но два года осады не позволили ни захватить Сиракузы,