I slutet av det första Puniska kriget, i B.C. 241, Carthage enades om att ge en brant hyllning till Rom, men utarmning av kistan räckte inte för att förstöra den nordafrikanska nationen av handlare och köpmän: Rom och Kartago skulle snart slåss igen.
Under tiden mellan det första och det andra Puniska kriget (även känd som Hannibalic War) erövrade den fönikiska hjälten och militärledaren Hamilcar Barca stora delar av Spanien, medan Rom tog Korsika. Hamilcar längtade efter att bli hämnd mot romarna för nederlaget i det Puniska kriget I. Insåg att det inte skulle vara så lärde han hat till Rom till sin son Hannibal.
Det andra Puniska kriget bröt ut i B.C. 218 när Hannibal tog kontroll över den grekiska staden och den romerska allierade Saguntum (i Spanien). Rom trodde att det skulle vara lätt att besegra Hannibal, men Hannibal var full av överraskningar, inklusive hans sätt att komma in på Italiens halvö från Spanien. Han lämnade 20 000 trupper med sin bror Hasdrubal och gick längre norrut på floden Rhône än romarna förväntade sig och korsade floden med sina elefanter på flytanordningar. Han hade inte så mycket arbetskraft som romarna, men han räknade på stöd och allians mellan italienska stammar som inte var nöjda med Rom.
Hannibal nådde Po Valley med mindre än hälften av sina män. Han hade också stött på oväntat motstånd från lokala stammar, även om han lyckades rekrytera Gallien. Det innebar att han hade 30 000 trupper när han träffade romarna i strid.
Hannibal vann strider i Trebia och vid Trasimene-sjön och fortsatte sedan genom Apennine-bergen som rinner ned genom stora delar av Italien som en ryggrad. Med trupper från Gallien och Spanien på sin sida vann Hannibal en ny strid, vid Cannae, mot Lucius Aemilius. Vid slaget vid Cannae förlorade romarna tusentals trupper, inklusive deras ledare. Historikern Polybius beskriver båda sidor som galanta. Han skriver om de stora förlusterna:
Polybius, slaget vid Cannae
"Av infanterin togs 10 tusen fångar i rättvis kamp, men var faktiskt inte engagerade i striden: av dem som faktiskt var förlovade bara cirka tre tusen flydde kanske till städerna i det omgivande distriktet; alla övriga dog ädelt, till antalet 70 tusen, där karthagierna var vid detta tillfälle, liksom på tidigare, är huvudsakligen skulderade för sin seger till sin överlägsenhet i kavalleri: en lektion till eftertiden att det i faktiska krig är bättre att ha halva antalet infanteri och överlägsenhet i kavalleri, än att engagera din fiende med en jämlikhet i båda. På Hannibals sida föll fyra tusen kelter, 15 hundra iberier och libier och cirka två hundra hästar. "
Förutom att skräpa landskapet (vilket båda sidor gjorde i ett försök att svälta fienden) terroriserade Hannibal städerna i södra Italien i ett försök att få allierade. Kronologiskt passar Romas första makedonska krig in här (215-205), när Hannibal allierades med Philip V från Makedonien.
Nästa general som konfronterade Hannibal var mer framgångsrik - det vill säga, det fanns ingen avgörande seger. Senaten i Kartago vägrade dock att skicka in tillräckligt med trupper för att Hannibal skulle kunna vinna. Så Hannibal vände sig till sin bror Hasdrubal för att få hjälp. Olyckligtvis för Hannibal dödades Hasdrubal på väg att gå med honom och markerade den första avgörande romerska segern under andra Puniska kriget. Mer än 10.000 karthager dödade vid slaget vid Metaurus i B.C. 207.
Under tiden invaderade Scipio Nordafrika. Den karthagiska senaten svarade med att komma ihåg Hannibal.
Romarna under Scipio kämpade fönikarna under Hannibal i Zama. Hannibal, som inte längre hade en tillräcklig kavalleri, kunde inte följa sin föredragna taktik. Istället dirigerade Scipio Carthageans med samma strategi som Hannibal hade använt vid Cannae.
Hannibal slutade det andra Puniska kriget. Scipios stränga villkor för överlämnande var att:
Villkoren inkluderade ytterligare ett svårt förbehåll: