Ганнибал появился на Острове Крит после подписания апамейского мирного договора. Неизвестно откуда полководец получил огромные ценности, которые и привез с собой. Об этом немедленно прошел слух по городу, и жадные разбойники принялись охотиться за деньгами Барки. Ганнибал же пошел на хитрость — сделал вид, будто передал их на хранение в храм Дианы: наполнив многочисленные амфоры медью, он сверху прикрыл ее золотом и серебром, а затем поместил амфоры в святилище. Деньги свои Ганнибал спрятал в медных статуях, которые стояли во дворе дома, где он жил.
На Крите Ганнибал задержался недолго. Оттуда он отправился в Вифинию, где хотел увидеть и поговорить с царем Пруссии. Последний как раз вел войну с пергамским царем Евменом, союзником Рима. Ганнибал принял участие в этой, последней для него, кампании и даже попытался, хотя и без успеха, организовать убийство пергамского царя. В морском сражении ему удалось победить пергамские корабли, бросив на их палубы сосуды со змеями. Использовать этот трюк он раньше предлагал Антиоху, но тогда царь отказался.
Между тем, к Прусии прибыл римский посол, который потребовал выдать Ганнибала римлянам. Царь заявил, что он не может нарушить законы гостеприимства, но римляне сами без труда могут захватить Ганнибала. В итоге римские солдаты окружили дом Ганнибала, полководец пытался спастись: выйти через потайные выходы, но оказалось, что у всех у них стоят воины. Сдаваться Барка не хотел и также, как и его брат в Карфагене, принял яд…
Когда в дом ворвались солдаты и увидели умирающего Ганнибала, он сказал им:
— Что ж, я сам избавил римлян от их давней заботы, раз уж им невтерпеж дождаться смерти старика.
Похоронили Ганнибала в Либиссе, на берегу Босфора, в каменном саркофаге. На его саркофаге высекли надпись: «Ганнибал здесь погребен».