Други сукоб између Рима и Картагине отпочиње спором око зона утицаја у Хиспанији, и 218. п. н. е. узима се за почетак Другог пунског рата (218. — 202. п. н. е.). Велики картагињански војсковођа Ханибал прелази Алпе и упућује се ка Риму. После неколико римских пораза (као код Кане 216. п. н. е.), када је већ изгледало да ће Ханибал освојити Рим, ипак долази до победе над Ханибаловим братом у бици код Метаура (207. п. н. е.). Моћ самог Ханибала слаби након тога, упркос савезу са македонским краљем Филипом V, који је 215. п. н. е. такође отпочео рат против Римљана. До коначне победе над Картагином долази после искрцавања Римљана у северној Африци, у бици код Заме (202. п. н. е.). Картагина је тиме изгубила све своје територије у Хиспанији. У Трећем пунском рату (149. — 146. п. н. е.) Рим је разорио и саму Картагину, основавши провинцију Африка.