Hannibal eteni Etruriaan, jossa hän väijytti Rooman armeijan pääjoukon Trasimenusjärvellä. 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 saaliista. Hannibal ei ehkä luottanut palkkasoturiensa uskollisuuteen, vaan päätti suunnata helpommin ryövättäville seuduille.