W następnym roku podczas przemarszu doliną rzeki Arno Hannibal zaskoczył konsula Flaminiusza nad Jeziorem Trazymeńskim. Cała rzymska armia została zniszczona. Klęska spowodowała umocnienie się w Rzymie stronnictwa Fabiuszy – dyktatorem został Kwintus Fabiusz Maksymus. Drugim dyktatorem po kilku miesiącach (bardzo niezwykła sytuacja, bo zazwyczaj dyktator był jeden) obwołano Marka Minucjusza Rufusa, który przy Fabiuszu sprawował dotąd urząd magistra equitum. W roku 216 p.n.e. wybrano konsulami Terencjusza Warrona i Emiliusza Paulusa. Otrzymali oni pod swoje dowództwo gigantyczną armię. Konsulowie wydali Hannibalowi bitwę pod Kannami, w której pomimo dwukrotnej przewagi liczebnej zostali rozgromieni przez kartagińskiego wodza.
W roku 215 p.n.e. Hannibal zawarł z królem Macedonii Filipem V traktat kartagińsko-macedoński. Polityczną istotą tego traktatu było porozumienie, zorientowane na potrzeby wojny rzymsko-kartagińskiej, którą Hannibal prowadził w Italii. Zapewniał sobie w nim pomoc macedońskiego króla, na wypadek gdyby miało się to okazać konieczne.