Hannibal eteni Etruriaan, jossa hän kohtasi Rooman armeijan pääjoukon Trasimenusjärven taistelussa. Hannibal murskasi roomalaisten joukot veteen ja läheisille rinteille. Reitti kohti Roomaa oli nyt vapaa. Mutta Hannibal jatkoikin suoraan Rooman ohi kohti etelää. Syytä tälle liikkeelle on pohdittu pitkään. Eräs mahdollisuus on, että Hannibal arvioi Rooman piirityksen liian raskaaksi, koska hänellä ei ollut piirityskoneita. Toisaalta on epäilty, että Hannibalin joukot olivat jo kyllästyneet jatkuvaan sotimiseen. Rooman piiritys olisi saattanut merkitä kuukausien paikallaanoloa huonolla ruoalla ilman toivoakaan sotasaaliista. Hannibal ei ehkä luottanut palkkasoturiensa uskollisuuteen, vaan katsoi parhaaksi suunnata helpommin ryövättäville seuduille.