Ганнибалу едва исполнилось 26 лет, когда, благодаря своим организаторским талантам и способности вести людей за собой, он, вопреки желанию карфагенских сенаторов, собирает иберо-карфагенскую армию. Он вновь начинает войну против Рима и во главе нескольких десятков тысяч воинов и сотни боевых слонов переходит Пиренеи, пересекает юг Галлии, а затем Альпы. В июне 218 г. до Р. Х. он приходит в Северную Италию. Римская армия, явившись в Испанию, чтобы помешать Ганнибалу, с изумлением обнаружила, что он уже в долине реки По. Римляне бросились навстречу его армии. В декабре разразилась битва при Пьяченце, на Треббии. Римляне бежали при виде африканских слонов, с трудом преодолевших заснеженные горные перевалы. Ганнибал великолепно управляет войском, кавалерия, подчиняясь его приказам, совершает неожиданные маневры. Ганнибал использует слонов как боевые машины. Высылает вперед небольшие отряды, которые молниеносно наносят удар по самым важным точкам противника.
Во время второго сражения, в Кампании, Ганнибалу недостает военных сил, и он использует хитрость: гонит на противника стадо быков, к рогам которых привязаны горящие факелы. Карфагеняне вновь одерживают победу. Рим спешно собирает оставшиеся войска. Происходит сражение при Каннах в Апулии. Ганнибал снова прибегает к отвлекающему маневру, окружает и разбивает римское войско, вдвое превосходившее численностью его армию. Италия, Македония и Сицилия встают на сторону Карфагена.
Но вместо того, чтобы захватить Рим, уже готовившийся покориться, Ганнибал заключает мирный договор с римским правителем, которого избрали для защиты города. Как только опасность миновала, римский правитель уступает власть молодому генералу Сципиону Африканскому.
Сципион понимал, что римская армия не может противостоять Ганнибалу, и решил постепенно захватывать небольшие территории, избегая открытого столкновения. Карфагенянам не хватало войска, чтобы охранять все границы, и Сципион начинает один за другим отбирать завоеванные Ганнибалом города. Вскоре он захватывает Италию, Галлию, Испанию и со вновь сформированной армией высаживается в Африке. Ганнибал пытался вступить в переговоры со Сципионом, но тот ни при каких условиях не желал заключать мир. Произошла битва при Заме. Оставшись без нумидийской конницы, в последний момент перешедшей на сторону римлян, Ганнибал потерпел поражение. Римляне обложили Карфаген огромной контрибуцией на пятьдесят лет.