Dalších více než deset let pokračoval ve válce v Itálii, přičemž neprohrál jediné větší střetnutí, nicméně nebyl schopen dosáhnout vítězného završení konfliktu. Římské legie se zatím vzpamatovaly z utrpěných porážek a jejich vylodění v severní Africe přimělo Hannibala k návratu do Kartága. Zde nakonec podlehl římskému generálovi Scipionu Africanovi v bitvě u Zamy. Několik let po porážce ve druhé punské válce byl svými politickými soupeři v Kartágu přinucen k odchodu do vyhnanství. Jistý čas pobýval na dvoře seleukovského krále Antiocha III., jemuž sloužil jako vojenský poradce během války proti Římanům. Po Antiochově porážce se po různých peripetiích ocitl v Bithýnii. Jelikož mu ale hrozilo, že bude zajat Římany, spáchal zde v roce 183 př. n. l. sebevraždu.