219BC-ben Hannibal ostromolta, elfoglalta és kirabolta Saguntum pró-római városát, ami arra késztette a rómaiakat, hogy 218BC tavaszán hadat hirdessenek Karthágó ellen. Abban az évben Hannibal meglepte a rómaiakat azzal, hogy hadseregét szárazföldön indította Iberia-ból, Gallián át és az Alpokon át.
Cisalpine Galliába (ma Észak-Olaszország). Gallia szövetségeseivel megerősítve a Trebia (218) és a Trasimene-tó (217) csatáiban hatalmas győzelmet aratott a rómaiak felett. 216-ban Dél-Olaszországba költözve Hannibal ismét legyőzte a rómaiakat a Cannae-i csatában, ahol megsemmisítette a legnagyobb sereget, amelyet a rómaiak valaha is összeállítottak. Miután kevesebb, mint két év alatt több mint 120.000 római katona vesztette életét, vagy fogságba került, Róma sok olasz szövetségese, különösen Capua, elmenekült Karthágóba, így Hannibal irányította Dél-Olaszország nagy részét. Ahogy Szirakuza és Macedónia csatlakozott a karthagói oldalhoz Cannae után, a konfliktus terjedt. 215-210 között a karthágóiak megpróbálták elfoglalni a római Szicíliát és Szardíniát, de sikertelenek voltak. A rómaiak drasztikus lépéseket tettek, hogy új légiókat állítsanak fel, rabszolgákat, bűnözőket és azokat, akik nem feleltek meg a szokásos tulajdonjogi követelményeknek, és így jelentősen megnövelték a fegyveres embereik számát. A következő évtizedben Dél-Olaszországban folytatódott a háború, és a római seregek lassan visszafoglalták az olasz városok többségét, amelyek Karthagon csatlakoztak.