המלחמה הפונית השנייה בין 218 לפנה"ס ל-201 לפנה"ס החלה בעיר סגונטו בספרד של ימינו. חניבעל, מנהיג הקרתגנים כבש את העיר, שהייתה בעלת ברית חשובה של רומא. הפעולה הביאה לסכסוך ולהכרזת מלחמה. מסגונטו החל חניבעל להתקדם אל איטליה כשהוא מוביל את צבאותיו המצוידים בפילים אל מעבר להרי האלפים. בתחילה זכה לניצחונות, אך לאחר שכל בעלות בריתה של רומא נותרו נאמנות לה, נכשל בניסיונו לכבוש את העיר. המערכה באיטליה נמשכה במשך שנים רבות. לבסוף פלשו חיילי רומא בהנהגת סקיפיו אפריקנוס למושבות קרתגו בספרד, ולאחר מכן נחתו באפריקה, ליד העיר קרתגו, והכריחו את חניבעל לשוב אל העיר. לאחר תבוסת הקרתגנים בקרב זאמה בשנת 202 לפנה"ס איבדה קרתגו את מושבותיה בחצי האי האיברי, ובמערב הים התיכון, כמו גם את השפעתה על המלכים הנומידים ששלטו מסביבה. בתקופה זו שלטה קרתגו בסביבה הקרובה לעיר קרתגו בלבד, הוטלו עליה פיצויי מלחמה בסכום גבוה, ועצמאותה אבדה.