L’esercito romano che aveva il compito di ricacciare Annibale al di fuori dei confini era comandato dal console Caio Flaminio. Esso poteva contare su una forza di almeno 25.000 legionari, in netta inferiorità numerica rispetto al nemico.
Inseguimenti, piccole scaramucce e battaglie rilevanti si ripeterono nei territori del centro-nord italiano, fino ad arrivare nei pressi dell’odierna Cortona in provincia di Arezzo. Ed è proprio qui che troviamo accampati i legionari di Flaminio.
E’ il 24 Giugno dell’anno 217 a.C., il console romano decise di muovere verso l’altro reparto di soldati che stavano scendendo da Ariminum, alla guida dell’altro console Gneo Servilio, per riunirsi in un unico grande esercito, convinto che il nemico fosse a non meno di un giorno di marcia non si preoccupò di verificare l’esattezza delle sue convinzioni. Flaminio disposto l’esercito in una colonna lunga non meno di un chilometro, costeggiò il lago Trasimeno in direzione dell’odierna Tuoro, lungo una strada ancora oggi chiamata il Malpasso. Le nebbie mattutine avvolgevano i paesaggi attorno al lago, Annibale che si trovava molto più vicino di quanto pensasse il console Flaminio,e che intendeva evitare un ricongiungimento tra gli eserciti romani, approfittò di quelle condizioni atmosferiche. I Cartaginesi infatti si trovavano ben nascosti dietro le basse colline che si trovano a ridosso del Trasimeno, e al momento che Annibale decise come il più opportuno, si lanciarono impetuosamente sulla colonna romana del tutto impreparata al combattimento. I romani in quell’epoca erano ancora soliti combattere in modo molto convenzionale con gli eserciti schierati uno di fronte all’altro. Annibale però non era un nemico convenzionale, molti soldati morirono prima ancora di capire cosa stava succedendo, altri, complice la fitta nebbia vedevano sfrecciare giavellotti e frecce, senza però poter vedere da dove provenivano. Fu un vero massacro nel quale almeno 15.000 soldati romani persero la vita, quelli che riuscirono a sopravvivere alla battaglia, o caddero prigionieri o si dispersero in modo disordinato per le pianure dell’Etruria, giungendo poi a Roma da strade diverse. Il torrente che sfociava nel lago in quella zona, venne da quel momento ribattezzato Sanguineto a causa del colore dell’acqua diventata rossa del sangue dei soldati caduti. In quanto al console romano Caio Flaminio, cadde ucciso nello scontro, trafitto da una lancia scagliata da un tale Ducario, un gallo insubre mercenario che militava nelle file cartaginesi, uno dei tanti che Annibale aveva arruolato nel nord Italia, e che non fu difficile portare dalla propria parte.
Proprio a riguardo della morte del console Tito Livio scrive: ” cacciati gli sproni nel ventre del cavallo, si gettò impetuosamente in mezzo alla foltissima schiera dei nemici ed abbattuto prima lo scudiero che si era lanciato incontro a lui che avanzava minaccioso, trafisse il console con la lancia ». Il panorama che si mostrava ai superstiti alla fine della battaglia del Trasimeno era spaventoso, e fra i tanti cadaveri che giacevano Annibale cercò quello di Flaminio, senza per altro riuscire ad individuarlo.
Il giorno seguente alcuni reparti di cavalleria che precedevano l’esercito di Servilio, arrivarono sul posto, ma furono sconfitti e messi in fuga dalla forte cavalleria numidica guidata da Maarabale.
Se la battaglia del fiume Trebbia avvenuta pochi mesi prima, vinta da Annibale, riuscì ad essere in qualche modo nascosta o fatta passare come un evento secondario, la battaglia del Trasimeno si svolse troppo vicino a Roma per poterla nascondere o modificarne l’importanza.
Le conseguenze di questa battaglia mutarono gli eventi, Gneo Servilio divenne comandante delle forze navali, Caio Flaminio venne sostituito al consolato da Marco Atilio Regolo, e come sempre, quando le cose si facevano complicate, a Roma venne scelto un “Dictator” a cui venivano dati pieni poteri per risolvere la situazione, il suo nome era Quinto Fabio Massimo, conosciuto anche con il soprannome di “Cunctator” il temporeggiatore.