А потому марш на Рим являлся, по сути, предприятием безумным. И что прикажете делать? На пике своей карьеры Ганнибал оказался в тупике. Но выход был. Появилась идея закрепиться на юге Италии, чтобы отрезать Риму возможность экспансии в этом направлении, создать тут сильную базу для флота, что позволило бы Карфагену при поддержке греков господствовать на Средиземном море. Правда, до сих пор пунические войска не овладели ни одним портом… Но, похоже, фортуна еще раз улыбнулась их полководцу. В Таренте началось антиримское восстание, и взбунтовавшийся город призвал Ганнибала на помощь. А ведь Тарент был не просто портом, это — арсеналы, судоверфи, опытные моряки. Ни минуты не сомневаясь, Ганнибал бросил туда все свои силы, способные вести осаду. Город радостно открыл ему ворота. Вот только господствующую над портом крепость продолжал контролировать римский комендант Гай Ливий со своим пятитысячным гарнизоном (не путать с Гаем Ливием Салинатором). Все штурмы карфагенян ни к чему не привели, «что доказывает, — язвительно замечает Жильбер Шарль-Пикар, — насколько бесполезными оказались бы его попытки взять Рим». Следующий год принес Ганнибалу сплошные поражения. Правда, он появился под стенами Рима, но это была лишь демонстрация силы с целью склонить противника к подписанию выгодного для нападавших мирного договора. Бесполезно. Большинство римлян готовы были сражаться до победного конца. Начиная с этого времени — 211 г. до н. э. — боевые действия затянулись. Они велись в основном на второстепенных фронтах: на Сицилии, преимущественно в Испании, на Балеарских островах… И везде медленно, но верно инициатива переходила к римлянам. В 204 г. до н. э. римский полководец Публий Корнелий Сципион, которого называли Сципион Африканский Старший, пришел к выводу, что ситуация позволяет перенести боевые действия на территорию противника. Он высадился в Африке и разбил огромный лагерь в Кастра Корнелиа, неподалеку от Утики в современном Тунисе, создавая тем самым непосредственную угрозу Карфагену. Узнав об этом, Ганнибал вернулся на родину. Обе стороны готовились к решающей битве. Одновременно продолжались лихорадочные поиски возможных союзников. По этой части римляне преуспели куда больше. Карфаген изначально был многонациональным городом мореплавателей и купцов, которые селились на землях, принадлежавших нумидийским племенам, давно жаждавшим реванша. Нумидийский царь Масинисса, славный во всем античном мире своей конницей, решил принять сторону римлян. Дело тут не обошлось без романтической и душераздирающей истории, поскольку как раз в это время Масинисса объявил о своей свадьбе с прекрасной Софонисбе, в которую он уже давно был влюблен. Но беда в том, что невеста была дочерью карфагенского полководца Гасдрубала из рода Барков то бишь родственница Ганнибала, и римляне опасались ее ума и патриотизма. Поэтому Сципион, соглашаясь на военно-политический союз с нумидийским правителем, поставил ему условие: убить свою возлюбленную. Мало того, дабы облегчить ему задачу, послал Масиниссе кубок с ядом, а Софонисба, от которой жених не скрыл страшную правду, стоически этот самый яд и выпила. Одни историки видят в этой трагедии низость Масиниссы, другие, наоборот, — поучительный пример победы государственных интересов над личными. Как бы там ни было, а смерть прекрасной карфагенянки подкрепила римские войска несколькими тысячами отборных всадников. А что для Ганнибала еще хуже, усилила пораженческие настроения в самом Карфагене, в результате чего мобилизация была проведена лишь частично, а некоторые сформированные отряды оказались слабыми и ненадежными.
Решающее сражение произошло при Заме. Для историков стало весьма трудной задачей установить точное место битвы, поскольку так назывались два города, а Каркопино добавил еще три деревушки с таким же названием. Принятое ныне местоположение около тунисской деревни Джама вызывает сомнение, так как археологи обнаружили в тамошних песках только фрагменты нумидийского оружия. Получается довольно редкая ситуация. По хроникам нам в подробностях известен ход сражения, а вот его место доподлинно не установлено.