Скорее всего, Ганнибал прекрасно понимал, что в какой-то момент война между двумя великими державами за господство в Западном Средиземноморье станет неизбежной. Но в данный момент Карфаген был на вершине власти, а у римлян были проблемы в других местах, в связи с которыми они испытывали недостаток в ресурсах и которые отвлекали их от Испании. Весной 219 года до н. э. Рим отправил двух консулов с армией в Иллирию, чтобы разобраться с проблемами пиратства и враждебного союза, сформированного Иллирией с Филиппом V Македонским.[229]
Ганнибал понимал, что Рим, завязший в длительной и тяжелой борьбе в Иллирии, не сможет быстро выйти из этой борьбы, чтобы вмешаться в испанские дела и защитить Сагунт. Если он нападет на Сагунт, то с достаточно большой вероятностью можно сказать, что ему удастся захватить город прежде, чем римляне решат проблемы в Иллирии, таким образом, он поставит Рим перед свершившимся фактом. В этом случае Рим, возможно, пересмотрит свое отношение к Сагунту и откажет ему в помощи. В конце концов, Сагунт слабый и находящийся на значительном расстоянии клиент, и Рим не захочет из-за него ввязываться в войну. Если же война все-таки начнется, то Ганнибал, вероятно, считал, что для Карфагена она закончится победой. Весной 219 года до н. э. Ганнибал подошел к Сагунту и осадил его.Осада Сагунта продолжалась восемь месяцев, но Рим не делал попыток помочь осажденному городу. Ганнибал правильно рассчитал, что борьба в Иллирии лишит Рим возможности вмешаться в испанские дела. Как бы то ни было, но решительное сопротивление Сагунта явилось для Ганнибала полной неожиданностью. Ни в одной из проводимых Баркидами кампаний в Испании ни один маленький город не оказывал такого ожесточенного сопротивления. Между тем Ганнибал опасался, что римляне могут высадиться в другом месте на испанском побережье и создадут там проблемы, в то время как основная армия Баркидов будет занята осадой Сагунта. Рим упустил реальную возможность предоставить по крайней мере символическую помощь Сагунту, население которого постигла страшная участь. Некоторые жители, страдая от голода, были вынуждены есть трупы. Ближе к концу оставшиеся в живых разожгли огромный костер и кинулись в огонь. Горстка мужчин пала в бою.
Прошло восемь месяцев, а Рим так и не ответил на действия Ганнибала в Сагунте. Римляне молчали, и молчание это было зловещим. У Ганнибала не было другого выбора, как, предположив худшее, готовиться к войне. Он отправил своих воинов на зимние квартиры, а племенных союзников по домам для отдыха и восстановления сил, чтобы они подготовились к весенней кампании 218 года до н. э. Он назначил своим заместителем брата, Гасдрубала, и передал ему командование войсками в Испании. Затем произвел некоторые перестановки в армии и отправил часть войск в Карфаген. Ганнибал прекрасно понимал, что если начнется война, то римляне нападут на Карфаген. Он отправил примерно 16-тысячную испанскую армию в Африку и 15-тысячную африканскую армию в Испанию; этот символический акт был направлен на то, чтобы связать два народа в совместной борьбе. Кроме того, он сформировал 4-тысячную армию в Африке для использования в Карфагене. Из 200 слонов, входивших в состав армии Гасдрубала, осталось всего пятьдесят восемь. Остальные были убиты во время кампаний Гасдрубала и Ганнибала, хотя эти потери кажутся чрезмерными. Из оставшихся слонов двадцать один были включены в армию Гасдрубала, а тридцать три остались у Ганнибала на случай объявления войны.[230]
Гасдрубал также принял командование тем, что осталось от карфагенского флота в Испании. Флот состоял из полностью укомплектованных 32 квинквирем и 5 трирем и недоукомплектованных 18 квинквирем и, возможно, нескольких квадрирем (гребное судно с четырьмя рядами весел). Если у Карфагена было всего 55 боевых кораблей для защиты африканского побережья, то у Рима было уже 220 квинквирем под парусом. Если бы началась война, то Рим, без сомнения, господствовал на море. Хотя ни одно из действий Ганнибала пока не свидетельствовало о его агрессивных намерениях в отношении Рима, он не собирался полагаться на волю случая. Ганнибал направил своих агентов в Альпы и в Северную Италию, чтобы понять, что следует ожидать от галльских племен, сопротивления или помощи, когда его армия будет проходить по их территориям. Ганнибалу, конечно, было известно о давней вражде между галлами и римлянами, и он стремился использовать это в своих интересах. А пока он выжидал.