Имея такую армию, Ганнибал мог не бояться встречи в поле даже с вдвое превосходящим противником. Он составил смелый план перейти через Пиренеи, реку Рону и Альпы в Италию, разбить в поле римские войска, а потом захватить и уничтожить Рим. При господстве римлян на море это был единственный способ перенести военные действия на территорию противника. Ганнибал не стал следовать излюбленной тактике римских военачальников, которые умело вели войну в приграничье с любыми противниками, а решил перенести войну на территорию самой Римской республики, где такой дерзости от карфагенян просто не ожидали. Ганнибал рискнул отказаться от сообщений с тылом. Его надежды покоились на возможности создать базу впереди, в тех областях Италии, что под его ударами отпадут от Рима, который только в момент падения Сагунта решил мобилизовать свои силы.
Из-за непопулярности войны среди союзников и беднейших слоев римского населения мобилизация была неполной, но выставленные силы превышали по числу в полтора раза количество войск, выставлявшихся Римом в предшествовавшие войны. Имевшиеся силы разделили на три почти равных армии – одна должна была удерживать в повиновении галлов в долине реки По, другая направлялась в Испанию, чтобы связать там Ганнибала, но не успела перехватить его даже в Галлии, на переправах через Рону, и третья сосредоточивалась в Сицилии, готовая перенести борьбу в окрестности Карфагена. Именно эта стратегическая разброска сил и предопределила поражение первых, лучших легионов римской милиции.
И все же довольно скоро Ганнибал отказался от овладения неприятельской столицей – Римом.
Оставив для защиты Карфагена 16 000 воинов и для обеспечения своей тыловой базы в Испании столько же солдат под командованием брата Гасдрубала, Ганнибал во главе 92-тысячной армии перешел реку Эбро и покорил к северу от нее иберийские племена.
После этого карфагенский полководец оставил на завоеванных землях 11-тысячное войско, а сам перешел через Пиренеи у средиземноморского мыса Креуз.
Обладая гибким умом и изобретательностью, Ганнибал для достижения поставленных целей прибегал к оригинальным и неожиданным для неприятеля мерам. Так, он привлек на свою сторону племена воинственных галлов на юге современной Франции, разбил коваров и форсировал реку Родан (Рону).
Вскоре его разведка – 500 человек нумидийской конницы – донесла Ганнибалу, что римская армия в количестве 24 000 человек перекрыла путь в Италию вдоль средиземноморского побережья, расположившись походным лагерем около хорошо укрепленного города Массалии. Ганнибал решил обойти противника севернее, выставив против него заслон из конницы и боевых слонов, и вторгнуться в Северную Италию через Альпийские горы.
Пока Ганнибал пересекал Альпы, римский полководец Публий Корнелий Сципион – отец Сципиона Африканского – спешил в Северную Италию, чтобы отрезать карфагенянам путь. В ноябре 218 года до н.э. армия Ганнибала встретилась на реке Тицин (совр. Тичино) с 25-тысячным римским войском Сципиона.
После легендарного перехода через Альпы, когда Ганнибал потерял почти всю свою армию, в его распоряжении осталось около 20 000 пехоты, 6000 кавалерии и всего несколько слонов. Несмотря на это, в сражении на Тицине римляне понесли большие потери, карфагеняне истребили почти всю вражескую кавалерию. Сам Сципион был тяжело ранен.
Пополнив свои войска в Галлии до 30 000 человек, Ганнибал еще не был готов к осаде Рима, требовавшей в пять раз больше сил с учетом невозможности базироваться на подвоз морем и необходимости одновременно удерживать обширную область, осуществляющую снабжение армии.
Между тем немногочисленное, но хорошо обученное и дисциплинированное карфагенское войско в декабре 218 года до н.э. одержало еще одну победу: на реке Треббия, к верховьям которой отошел со своей пехотой Сципион, соединившись с армией другого римского полководца, Семпрония.
40 000 римлян расположились здесь в хорошо укрепленном лагере и не желали выходить для битвы в открытое поле. Но Ганнибал перехитрил противника: он позволил ему одержать ряд легких побед над своими небольшими отрядами, одновременно опустошив все селения вокруг неприятельского лагеря. Ложная атака нумидийской конницы, перешедшей реку и выманившей из лагеря за собой римскую конницу, явилась прологом большой битвы.
Вопреки совету раненого Сципиона Семпроний перешел реку Треббию, намереваясь атаковать Ганнибала. Промерзшие в холодной зимней воде римляне сражались отважно, но после атаки карфагенской конницы Магона их левый фланг пришел в беспорядок, и они потеряли в битве более 30 000 человек, тогда как потери Ганнибала составили вероятно немногим более 5000 солдат. Снова большие потери понесла римская кавалерия.