Ганнибал в молодости изучал военное дело, сопровождал в походах отца Гамилькара Барку и дал клятву вести борьбу с Римом до победного конца. Выражение «ганнибалова клятва» стало обозначать обещание, которое должно быть выполнено во что бы то ни стало. Ганнибал был настоящим воином – гибким и сильным, выносливым и отважным. Он умел командовать, повелевать и подчинять себе людей. Гамилькар оставил своему сыну в наследство полную казну и сильную, привыкшую к победам армию, расположенную в Испании.
В Испании Ганнибал, которому в то время было двадцать шесть лет, осадил и взял римскую колонию Сагунт. Началась Вторая Пуническая война (с 218 г. до н. э.). Пока римляне разрабатывали план сражений, Ганнибал выступил из Испании с 26 тысячами воинов и боевыми слонами. За пятнадцать дней он преодолел Альпы. Затем, действуя на территории Италии, нанес римлянам серьезные поражения на реке Треббия (218 г. до н. э.), у Тразименского озера (216 г. до н. э.) и при Каннах (216 г. до н. э.). Битва при Каннах стала образцом полного разгрома противника. Римляне располагали перед этим сражением армией, которая насчитывала 80 тысяч пехотинцев и 6 тысяч всадников. Пехота Ганнибала насчитывала всего 40 тысяч воинов, зато он имел количественный и качественный перевес в коннице – 14 тысяч всадников. В ходе сражения римские войска попали в клещи, были окружены и большей частью перебиты. Консул Луций Павел Эмилий погиб.
Карфагенское правительство больше боялось Ганнибала, чем хотело добить римлян. Ганнибалу симпатизировали многие враги Рима, но взять Рим без необходимой поддержки и материальных ресурсов он не мог. В историю вошло выражение «Ганнибал у ворот», которое стало синонимом страшной паники без особых на то оснований. Брат Ганнибала, Гасдрубал, потерпел поражение. Ганнибал получил лишь голову брата.
В 203 г. до н. э. Ганнибал был вынужден вернуться в Африку. В битве при Заме (202 г. до н. э.) Ганнибал потерпел поражение от Публия Корнелия Сципиона (Африканского), на сторону которого перешла нумидийская конница во главе с царем Масиниссой.
По мирному договору (201 г. до н. э.) карфагеняне теряли все свои заморские владения, в том числе и Испанию. Им запрещалось вести войны даже с соседними племенами без разрешения римского сената. Карфаген выплачивал огромную контрибуцию в 10 тысяч талантов и выдавал римлянам весь свой военный флот и боевых слонов. Это был очень унизительный договор.
Ганнибал пытался проводить политические реформы в Карфагене, являясь претором, или главой, республики. Он привел в порядок финансы, обеспечил срочные выплаты тяжелой контрибуции, в целом оказался на высоте положения.
Но «ганнибалова клятва» сделала свое дело. Ганнибал вступил в тайные переговоры с сирийским царем Антиохом III. Римляне потребовали его выдачи, и пришлось бежать. Карфагенский сенат войны не хотел. Сирийский и финикийский флоты были разбиты римлянами, а Корнелий Сципион нанес поражение Антиоху III и потребовал выдачи Ганнибала. Ганнибал скрывался в Армении, на острове Крит, у вифинского царя Прузия. Последний решил не связываться с Римом и выдал Ганнибала. В 183 г. до н. э. борец с римской экспансией, не желая попасть в руки врагов, принял яд, который постоянно носил в перстне. Он был похоронен в Либиссе, на европейском берегу Босфора.
Через несколько лет после гибели Ганнибала произошла Третья Пуническая война. В 146 г. до н. э. Карфаген был взят штурмом после трехлетней осады. По решению сенатской комиссии Рима город Карфаген был подожжен. Он горел шестнадцать дней и в результате был стерт с лица земли, а место предано вечному проклятию. Так было реализовано требование, которым заканчивал любое свое выступление в римском сенате один сенатор: «Я думаю, что Карфаген должен быть разрушен».