Tada Hannibalis žygiavo į pietus ir laimėjo tris išskirtines pergales. Pirmasis buvo prie Trebijos krantų.
218 m. Gruodį jis nugalėjo kitą konsulą Sempronijų Longą, dėka savo brolio Mago, kuris paslėpė elitinius karius už legionų ir užpuolė juos iš nugaros, kai kovojo su Hannibaliu. Daugiau nei pusė romėnų kariuomenės žuvo. Vėliau Hannibalis apleido teritoriją aplink Aretiją, kad į spąstus įstumtų naują konsulą Gajus Flaminiusą prie Trasimeno ežero. Jis paslėpė savo kariuomenę kalnuose, apsupusiuose ežerą, ir užpuolė Flaminiusą, kai jis buvo įstrigęs į kampą. Šis gudrus užpuolimas privedė prie konsulo mirties ir visiško jo 30.000 vyrų kariuomenės sunaikinimo. 216 m. nauji konsulai Emilijus Paulius ir Terentijus Varro surinko didžiausią įmanomą kariuomenę, turėjusią aštuonis legionus (daugiau nei 80 000 kareivių), dvigubai daugiau nei Punų kariuomenė, ir susidūrė su Hannibaliu, stovyklavusiu Kanose, Apulijoje. Nors Hannibalis buvo daug mažesnis, jis panaudojo savo sunkiąją kavaleriją, kad išstumtų romėnų sparnus ir aplenktų jų pėstininkus, kuriuos išnaikino. Kalbant apie nuostolius, Kanų mūšis buvo blogiausias pralaimėjimas Romos istorijoje: tik 14 500 kareivių pabėgo; Paulas buvo nužudytas, taip pat 80 senatorių. Netrukus po to bojai užpuolė 215 metų konsulo Postumijaus Albino armiją, kuris su visa savo 25 000 vyrų armija žuvo Litanos miške.