Hannibal lähti sotaan marssimalla läpi Hispanian Etelä-Galliaan. Hän otti mukaansa libyalaisista ja iberialaisista palkkasotureista muodostetusta armeijastaan kaikkein luotettavimmat ja taisteluihin karaistuneimmat. Hannibal johti armeijansa Hispaniasta Alppien yli, Italian niemimaalle ja löi roomalaiset Trebiajoella vuonna 218 eaa., Trasimenus-järvellä vuonna 217 eaa. ja Cannaessa vuonna 216 eaa. Cannaen jälkeen roomalaiset eivät uskaltautuneet kenttätaisteluun Hannibalia vastaan.