Im Zweiten Punischen Krieg (218–201 v. Chr.) gelang es dem karthagischen Strategen Hannibal beinahe, Rom in die Knie zu zwingen, wobei als Kriegsgrund die Belagerung und Eroberung der griechischen Kolonie Saguntum durch Hannibal diente, die mit Rom „verbündet“ war. Nach dem Fall Saguntums und der Weigerung der Regierung in Karthago, Hannibal auszuliefern, folgte die römische Kriegserklärung. Hannibal nahm den Landweg durch das südliche Gallien, überquerte die Alpen und fiel mit einem Heer in Italien ein, wobei er mehrere römische Armeen nacheinander vernichtete. Besonders die Niederlage bei Cannae (216 v. Chr.) war schmerzhaft für die Römer: Es handelte sich um die schwerste Niederlage in der römischen Geschichte, doch gelang es Hannibal nicht, das Bündnissystem Roms in Italien zu zerstören, sodass Hannibal trotz seiner Siege weitgehend isoliert blieb. Der römische Feldherr Scipio setzte 204 v. Chr. nach Afrika über und besiegte Hannibal 202 v. Chr. bei Zama. Karthago verlor alle außerafrikanischen Besitzungen und seine Flotte. Damit war es als Machtfaktor ausgeschaltet, während Rom mit seiner neuen Provinz Hispanien zunehmend an Einfluss gewann.