Но это вызвало агрессивный ответ карфагенян. Теперь карфагенские правители стремились к прямому контролю над дальнейшими африканскими территориями и рассчитывали на Испанию, чтобы накопить ресурсы для противодействия дальнейшей римской агрессии и выплаты репараций. У них уже были торговые склады на побережье, и теперь они продвигались вглубь страны, проводя кампании против коренного населения, устанавливая над ним более прямое имперское господство, чему способствовали брачные союзы с местными элитами и новыми городами-поселенцами. Это был территориальный империализм, оборонительный ответ на римскую экспансию, хотя и наступательный по отношению к жителям Африки и Испании.
Эброский договор 226 г. до н.э. позволил Карфагену расширить территорию Испании к югу от реки Эбро, в то время как Рим занял северную часть. Этот договор был нарушен Римом, когда он поддержал город-государство Сагунтум, расположенный к югу от реки. Сагунтинцы напали на соседний город-государство, союзный Карфагену, полагая, что находятся под защитой Рима. Полководец карфагенян в Испании Ганнибал в 219 г. до н.э. быстро разгромил Сагунтум. Он пощадил бы жителей, если бы они "готовы были уйти из Сагунтума без оружия, каждый с двумя одеждами". Ему нужно было оплатить армию и подкупить колеблющиеся собрания в Карфагене добычей из города. Они были более экономны, чем римляне, и Ганнибалу, в отличие от римских полководцев, приходилось бороться с мирными фракциями в собраниях. Жители Сагунтума отклонили его предложение и попытались разрушить город, тогда Ганнибал приказал устроить кровавую бойню. Сенат объявил, что это был casus belli и что Карфаген нарушил договор, заключенный на Эбро. Затем были отправлены римские послы с требованием выдать Ганнибала и доставить его в Рим как военного преступника - типично неприемлемое требование римлян, выдвинутое для того, чтобы Рим мог заявить, что отказ сделал эту войну "справедливой". Полибий обвиняет обе стороны, как и большинство современных историков. Натан Розенштейн говорит, что ни Карфаген, ни Рим не хотели войны, но ни один из них не отступил, а Харрис обвиняет римский сенат в том, что он использовал сагунтинцев, чтобы спровоцировать Ганнибала на войну. Однако провокация, похоже, была взаимной.
Вторая Пуническая война продолжалась семнадцать лет, до 201 г. до н.э. Ганнибал, прекрасно зная о больших потенциальных резервах Рима, нанес стремительный удар по римскому сердцу. Он переправил своих солдат и слонов из Испании через Альпы в Италию. Его поддержали несколько кельтских племен, и он попытался привлечь на свою сторону италийских союзников Рима, отпустив всех пленных и пообещав восстановить свободу тех, кто заключил с ним союз. На пике его могущества в Италии около 40% италийских городов обещали ему свою верность, хотя большинство из них были более осторожны в своих действиях, стремясь не вызвать гнев Рима. После великой победы Ганнибала при Каннах в 216 г. до н.э., в которой, по словам Ливия, было убито 50 тыс. римлян, Ганнибал сказал своим пленникам, что "он ведет с римлянами не войну на истребление, а борьбу за честь и империю. Что его предки уступили римской доблести и что он стремится к тому, чтобы другие, в свою очередь, были вынуждены уступить его удаче и доблести вместе с ним". Поэтому он разрешил пленникам выкупить себя".
В этот момент Ганнибал не пошел прямым маршем на Рим, а предложил переговоры, и это решение иногда считают его самой большой ошибкой, поскольку Рим никогда не вел переговоров. Ливий приводит слова одного из его генералов, призывавшего к немедленному походу на Рим. Ганнибал ответил: "Я одобряю твое рвение, но мне нужно время, чтобы взвесить предложенный тобой план", на что полководец ответил: "Конечно, ни один человек не был благословлен всеми дарами Бога. Ты, Ганнибал, знаешь, как одержать победу, но не знаешь, как ею воспользоваться". Однако Ганнибал, вероятно, рассчитывал, что взятие Рима потребует длительной осады, грозящей трудностями со снабжением, в то время как его войска останутся неподвижными и уязвимыми для нападения. Он хотел не уничтожения Рима, а признания равного положения и независимости Карфагена. Канны также находятся на расстоянии более трехсот километров от Рима.