Attraversate le Alpi, presumibilmente al passo del Moncenisio o del Monginevro, Annibale giunse nella Pianura padana con più o meno metà delle forze. Nell'ottica di portare dalla sua parte le tribù galliche in lotta con Roma, combatté e sconfisse i Taurini, avversari degli Insubri che gli si allearono assieme ai Boi. Con magistrale uso della cavalleria sconfisse le forze romane in due importanti battaglie sul Ticino e sulla Trebbia. L'anno successivo attraversò l'Appennino e batté le legioni di Roma nella battaglia del lago Trasimeno. Essa è una battaglia di particolare importanza nella storia della tattica militare perché è la prima vinta per superiorità di manovra, ossia un esercito ottiene una posizione sul terreno tale da impedire all'avversario qualunque difesa e costringendolo quindi alla resa, cosa che i Romani non fecero preferendo farsi massacrare. Sapendo di non poter assediare Roma prima di aver raccolto attorno a sé le popolazioni dell'Italia centrale e meridionale si diresse verso la Puglia dove, a Canne, inferse una tremenda sconfitta all'esercito romano. Ancora una volta non osò attaccare Roma che già si aspettava l'assedio e si limitò a operare nelle regioni del sud Italia.