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