Po Cannae, mnoho italských měst se připojil Hannibalovy věci. Římané, pod Fabius verrucosus, vyhnout se další přímém rozporu s Hannibala silami. Jejich taktika opatrnou obtěžování a zpoždění za následek 10 let nerozhodné manévrování. (Taková politika opatrnosti a zpoždění přišel být nazýván "Fabian," po Fabia). Postupně Řím získal zpět neloajální italská města. Hasdrubal, Hannibal bratr, mezitím opustil Španělsko s armádou, pochodoval přes Alpy, a vstoupil do Itálie přijít na pomoc Hannibalově. Římané se dozvěděl o plánech Hasdrubal prostřednictvím zachycených zpráv a setkal se s ním v bitvě u řeky Metaurus (207), kde byl poražen a zabit. Jeho hlava byla hodil do Hannibalově tábora.
Porážce Kartága
V 204 př.nl Publius Scipio (později nazvaný Scipio Africanus starší) zahájila kampaň v Africe proti Kartágu sám. Hannibal byl povolán domů, a přistál v Africe v 202. U bitvy Zama Hannibala poměrně nepovolaných vojáků byl směrován. Carthage přijal mírové podmínky Říma. Hannibal byl jmenován Kartaginci vládnout zemi, ale Řím brzy stal se znepokojený a obvinili ho ze spiknutí proti míru. Hannibal uprchl do Malé Asie.
Život jako uprchlík
V 195 BC Hannibal našel útočiště s Seleucid krále Antiochus III, v Efezu. Antiochus byl přesvědčen Hannibal provést útok na římsko-konalo Řecka. Kampaň byla katastrofální. Hannibal, v důvěře flotily, byl poražen, a Antiochus ztratil bitvy u Thermopyl (191) a Magnesia (190 nebo 189). Hannibal uprchl do Bithynia a bojoval ve válce mezi Bithynia a Pergamum. Když Řím zasáhl, a římské agenti přijeli do Bithynii chytit Hannibala, nezůstalo uprchnout žádné místo. Hannibal spáchal sebevraždu tím, že jed.