Fabian tactici și un impas
După Cannae, multe orașe italiene s-au alăturat cauzei lui Hannibal. Romanii, sub Fabius Verrucosus, a evitat conflict direct în continuare cu forțele lui Hannibal. Tactica lor de hărțuire precaut și de întârziere a dus la 10 de ani de manevrare indecisi. (O astfel de politică de prudență și de întârziere a ajuns să fie numit "Fabian", după Fabius.) Treptat Roma a câștigat înapoi cetățile neloiali italiene. Hasdrubal, fratele lui Hannibal, a plecat între timp Spania cu o armată, au mărșăluit peste Alpi, și a intrat Italia pentru a veni în ajutorul lui Hannibal. Romanii au învățat de planuri de Hasdrubal prin mesaje capturate și l-au întâlnit în luptă la Metaurus River (207), unde a fost învins și ucis. Capul lui a fost aruncat în tabăra lui Hannibal.
Invinge din Cartagina
În 204 î.Hr. Publius Scipio (numit mai târziu Scipio Africanul cel Batran) a lansat o campanie în Africa împotriva Cartagina în sine. Hannibal a fost chemat acasă, și a aterizat în Africa, în 202. La Bătălia de la trupe relativ neinstruit Zama Hannibal au fost dirijate. Cartagina a acceptat termeni de pace din Roma. Hannibal a fost numit de către cartaginezi să guverneze țara, dar curând a devenit Roma alarmat și l-au acuzat de conspirație împotriva păcii. Hannibal a fugit în Asia Mică.
Viață ca un fugar
În 195 î.Hr. Hannibal a găsit refugiu cu regele seleucid, Antioh III, la Efes. Antioh a fost convins de Hannibal pentru a face un atac asupra romano-a avut loc Grecia. Campania a fost dezastruos. Hannibal, responsabil al flotei, a fost învins, și Antioh a pierdut bătălii de la Termopile (191) și Magnesia (190 sau 189). Hannibal a scăpat de Bitinia și au luptat într-un război între Bitinia și Pergam. Când Roma a intervenit, și agenți de romani au ajuns în Bitinia pentru a profita de Hannibal, nu a existat nici un loc lăsat să fugă. Hannibal sa sinucis prin luarea otravă.