Annibale, dopo che giunse al Trasimeno, attraverso l'Etruria, collocò l'accampamento in un luogo aperto e alto tra il lago e i monti. In seguito, volendo preparare un'imboscata ai Romani che incalzavano, fece girare dietro i monti i soldati armati alla leggera e nascose la cavalleria all'imboccatura del passo tra i monti: schierò la restante parte dell'esercito davanti all'accampamento. Quando le truppe dei Romani, con a capo il console Flaminio, giunsero al lago, Flaminio, vedendo l'accampamento dei Cartaginesi in un terreno praticabile e, senza avere alcun sospetto a riguardo all'imboscata di Annibale, avanzò con tutto l'esercito contro il nemico. Annibale, quando vide il nemico chiuso dal lago e dai monti e accerchiato dalle sue truppe, diede il segnale di battaglia: tutti i Cartaginesi si lanciarono contro i Romani simultaneamente. Intanto, una improvvisa e densa nebbia sorta dal lago, ricoprì tutte le cose e per i Romani, che erano assaliti dai nemici da davanti, dal fianco sinistro e da dietro, e dal lato destro erano bloccati dal lago non ci fu nessuna speranza di salvezza, poiché la densa nebbia impediva la vista e anche l'uso delle armi. Nel grande disordine ci fu una grande strage: anche il console Flaminio, trafitto dai colpi dei nemici, cadde combattendo coraggiosamente, una gran parte di soldati morì nell'atroce scontro, pochi sfuggirono al massacro e si rifugiarono sui monti.