Hannibal aztán délre vonult, és három kitűnő győzelmet aratott. Az első a Trebia partján volt.
218. decemberben, ahol legyőzte a másik konzulot, Sempronius Longust, Mago testvérének köszönhetően, aki néhány elit csapatot rejtett el a légiók mögött, és hátulról támadt rájuk, amikor Hanniballal harcolt. A római hadsereg több mint fele elveszett. Hannibal ezután lerombolta az Arretium környékét, hogy az új konzul, Gaius Flaminius csapdába kerüljön a Trasimene-tónál. A tó körüli hegyekbe rejtette el csapatait, és támadta meg Flaminius-t, amikor a parton sarokba szorították. Ez a ravasz csapda a konzul halálát és 30.000 fős seregének teljes megsemmisülését eredményezte. 216-ban az új konzulok, Aemilius Paullus és Terentius Varro összegyűjtötték a lehető legnagyobb sereget, nyolc légióval (több mint 80 000 katona), amely kétszer annyi volt, mint a pun sereg, és szembeszálltak Hanniballal, aki Cannae-ban táborozott, Apulia-ban. Annak ellenére, hogy a számban gyengébb volt, Hannibal a nehéz lovas seregét arra használta, hogy elpusztítsa a római szárnyakat, és körbevegye gyalogos seregüket, akiket megsemmisített. Az áldozatok tekintetében a Cannae-i csata volt a legrosszabb vereség a római történelemben: csak 14 500 katona menekült el; Paullus meghalt, valamint 80 szenátor. Nem sokkal ezután, a Boiiak csapdába ejtették a 215-ös consul, Postumius Albinus hadseregét, aki az egész 25.000 fős hadseregével együtt meghalt Litana erdőjében.