Rok po klęsce pod Zamą został podpisany traktat pokojowy. Kartagina została pozbawiona wszelkich posiadłości poza Afryką, zlikwidowano jej flotę wojenną. Nie mogła prowadzić wojen bez pozwolenia Rzymu. Została zmuszona do wypłacania gigantycznej kontrybucji o łącznej sumie 10 tysięcy talentów srebra w ciągu 50 lat. Jednak twarde warunki pokoju nie sprowadziły Kartaginy do roli podrzędnego państwa. Kontrybucja była płacona z wyprzedzeniem, raz nawet zaproponowano zapłatę za 20 lat naprzód. Hannibal wkrótce został sufatą – odpowiednikiem rzymskiego konsula. Jednak przez podejrzenia, że znów chce sprowadzić wojnę, musiał uciekać z miasta. Resztę życia spędził jako najemny dowódca w różnych częściach świata. Skończył żywot popełniając samobójstwo. Bogactwa i siła Kartaginy była niepokojąca dla Rzymu. Słynne stały się słowa Katona Starszego „Ponadto uważam, że Kartagina powinna zostać zburzona”, który tym stwierdzeniem kończył każde ze swych przemówień. W 149 roku przed Chrystusem Rzym wypowiedział wojnę pod byle pretekstem. Trzyletnim oblężeniem Kartaginy dowodził Publiusz Scypion Młodszy, syn bohatera poprzedniej wojny. Miasto zostało zdobyte, zburzone, a ziemię na której stało posypano solą, by już nigdy nic tam nie wzrosło. Tak oto Rzym na dobre zakończył swój konflikt z Kartaginą. Po zdobyciu Iberii Publiusz Scypion niezwłocznie udał się do Afryki. Swoje wojska wysadził na wybrzeżu Libii i rozpoczął pertraktacje z tamtejszym królem Syfaksem, formalnie sprzymierzonym z Kartaginą. W tym samym czasie misję dyplomatyczną wykonywał tam również Hannon Barkida. Ostatecznie Syfaks stanął po stronie Kartaginy jednak cena tego była niemała. Stary król zażądał dostępu do ziem numidyjskich, które od lat pozostawały pod protektoratem Kartaginy. W zamian za to Syfaks zobowiązał się wystawić wielką armię. Kartagina zyskała silnego sojusznika, zyskując jednak nowego wroga – Numidyjczyków. Wielka armia libijska zgromadziła się na przedpolach Cyrty w ciasnym obozie otoczonym ostrokołem. Scypion dysponujący dużo mniejszymi siłami wydawał się bez szans. Uciekł się jednak do podstępu. W nocy przed zaplanowaną bitwą podpalił ogrodzenie obozu i jego zabudowania. Na wszystkich którzy nie spłonęli na miejscu czekały przy wyjściu z obozu rzymskie miecze. Zwycięstwo Scypiona było absolutne. Syfaks został pojmany, spalonego ciała Hannona nie odnaleziono. Kartagina pozostała bezbronna. Scypionowie odnosili kolejne sukcesy w Iberii. Hazdrubal nie posiadał tak wielkiego talentu dowódczego jak starszy brat, Hannon zaś był go zupełnie pozbawiony. Mimo wielu klęsk ich straty były rekompensowane przez posiłki stale dochodzące z Afryki. Na podobne wsparcie nie mógł liczyć Hannibal. Rada była nieprzychylna wobec jego działań, gdyż obawiali się zbyt wielkiego wzrostu jego sławy. 211 rok przed Chrystusem był w Iberii decydujący. Barkidom udało się wytoczyć dwie bitwy Rzymian. W obu zwyciężyli, obaj Scypionowie zaś zostali zabici. Wydawało się to gwoździem do trumny Rzymu. Niemal aktem desperacji było posłani do Iberii ( na jego własną prośbę) syna jednego ze zmarłych braci – Publiusza Korneliusza Scypiona na czele skromnej 10 – tysięcznej armii. Jego sposób działania zaskoczył Kartagińczyków. Zamiast szukać walnej bitwy, uderzył w ich bazę zaopatrzeniową – Nową Kartaginę. To był cios w samo serce. Wraz z upadkiem miasta coraz więcej plemion iberyjskich zrzucało afrykańskie jarzmo. Po roku 208 przed Chrystusem i bitwie pod Baeculą, w której Scypion odniósł wielkie zwycięstwo nad Hazdrubalem, Kartagińczycy musieli uznać Iberię za utraconą. Hannon wrócił do Afryki, zaś Hazdrubal wyruszył na pomoc Hannibalowi, pokonując tą samo co on alpejską trasę. Wojna nieubłaganie zbliżała się ku końcowi.