בשנת 264 לפנה"ס הוכו קשות הממרטינים בידי היירון השני טיראן סירקוסאי. על פי גרסת פוליביוס, פנו חלקם אל קרתגו בבקשת עזרה, וחלקם אל רומא בבקשת עזרה. על פי גרסת דיודורוס, שייטת קרתגית עגנה במקרה באזור, ומפקדה חנו סייע לממרטינים מתוך כוונה להשתלט על עירם מסאנה. עם זאת, הממרטינים העדיפו את הברית עם רומא. בסיוע הרומאים, סילקו המסאנים את הקרתגים מהעיר. הקרתגים, שחששו מפני מתחרה חדשה על השלטון באי, כרתו ברית עם היירון והכריזו מלחמה על רומא.
כוח קרתגי תחת פיקודו של חנו בן חניבעל נשלח לסיציליה, אולם הובס שם בידי הרומאים, שהכריחו את היירון לחתום על הסכם שלום. אולם השליטה הבלתי מעורערת של הקרתגים בים העניקה להם יתרון בולט. הרומאים הצליחו לעקוף מכשול זה, ולראשונה בנו צי משלהם. בשנת 260 לפנה"ס הובס האדמירל הקרתגי חניבעל בן גיסקו בקרב מילאי. בשנת 256 לפנה"ס הובס חמלקרת בקרב אקנומוס, ושני לגיונות רומאיים תחת פיקודו של רגולוס נחתו באפריקה ואיימו על קרתגו עצמה. אולם קסאנתיפוס הספרטני הביס אותו בקרב בגרדס ורגולוס עצמו נפל בשבי. רק כישלונו של בוסטאר בקרב הרמאיון, אפשר לניצולים הרומאים המעטים להימלט דרך הים.
בשנת 250 לפנה"ס הטילו הרומאים מצור על ליליבאום. מושל העיר חימילקו הגן בגבורה על העיר, והרומאים ניסו לשווא להכניעה. בשנת 249 לפנה"ס הביס אדרבעל את פולכר בקרב דרפאנה, והשמיד את הצי הרומי. בשנת 247 לפנה"ס שלחו הקרתגים מפקד חדש לזירה היבשתית בסיציליה, את חמלקרת ברקה. כישרונו הצבאי ויכולת האלתור שלו גרמו נזק רב לרומאים. הוא ערך פשיטות על חופי איטליה, וניסה להסיר את המצור מעל ליליבאום ודרפאנה. אולם הצלחותיו היו חלקיות בלבד. בינתיים עמלה רומא על בניין צי חדש שהיה מוכן בשנת 241 לפנה"ס. מפקדו קאטולוס הביס את חנו הגדול בקרב אייגוסה, ובלית ברירה קרתגו נכנעה.
בין שתי המלחמות.
בין השנים 240 לפנה"ס-238 לפנה"ס, ידעה קרתגו את אחד המשברים הקשים בתולדותיה, מלחמת שכירי החרב. לאחר סיום המלחמה נגד רומא, לא היה באפשרות קרתגו לשלם את שכרם לשכירי החרב הרבים שלחמו בשירותה, והללו בהנהגת מאתוס וספנדיוס התמרדו ולקחו בשבי את גיסקו. הקרתגים הרכיבו כוח מיוחד שכלל לשם שינוי בעיקר קרתגים, וכמפקדו התמנה חנו הגדול. חנו יצא לסייע לערים אוטיקה והיפקארה שהיו נתונות במצור. אולם חנו שלא היה איש צבא נחל כישלון חרוץ. בלחץ ההמונים הוחזר חמלקרת ברקה, גיבור המלחמה ברומא, אל הזירה. הוא השמיד כוח בפיקודו של ספנדיוס בקרב מקאראס, והחזיר לקרתגים מעט מביטחונם העצמי. לאחר הקרב ערקו אל צבאו 2,000 פרשים נומידיים תחת פיקודו של נארוואס ממחנה המורדים.
כדי למנוע עריקות דומות בעתיד, הוציא ספנדיוס את גיסקו להורג בעינויים, והכריז שמעתה הקרבות יתנהלו ללא רחמים, וכל שליח קרתגי יוצא להורג. חמלקרת נקט קו דומה והשליך אל רגלי פיליו כל שבוי. במקביל התמרד גם חיל המצב בסרדיניה, והמושל בוסטאר נרצח. הרומאים ניצלו את ההזדמנות וסיפחו את האי. כעת הטילו המורדים מצור על קרתגו עצמה. אולם היריבות האישית בין חנו לחמלקרת מנעה כל פעולה יעילה, על כן הוחלט לפטר את אחד מן השניים. הוחלט לפטר את חנו, וחמלקרת נותר המפקד היחיד. הוא פעל במהירות להסרת המצור, ויחד עם נארוואס ניתק את דרכי האספקה של המורדים, ואילץ אותם להתפלג. ספנדיוס עזב את המצור בראש 50,000 איש ויצא להביס את חמלקרת. חמלקרת הנחיל לו תבוסה כואבת בקרב משור, ו-40,000 מורדים נטבחו. הקרב החזיר לקרתגים את ביטחונם העצמי האבוד, ונראה היה שהמלחמה עומדת להסתיים. אולם חניבעל, אחד מקציניו של חמלקרת, נהג בפזיזות ואפשר למאתוס להביס אותו בקרב תוניס. בעקבות הקרב המלחמה נמשכה עוד זמן מה עוד שהוכרעה בעקבות תבוסת מאתוס בקרב לפטיס.
בשנת 237 לפנה"ס נשלח חמלקרת להיספניה במטרה להחזיר מחדש את השלטון הקרתגי שם. חמלקרת נהרג בשנת 228 לפנה"ס במארב שטמן לו אחד מראשי השבטים המקומיים, וחתנו עזרובעל המפואר המשיך את מפעלו. עזרובעל העדיף בעיקר דרכים דיפלומטיות, ואף חתם עם רומא על אמנת האברו במסגרתה נקבע כי נהר האברו ישמש כגבול להתפשטות הקרתגים בהיספניה. בשנת 221 לפנה"ס נרצח עזרובעל, וגיסו חניבעל ברקה מונה למחליפו. מפעלו הראשן של חניבעל כמפקד היה השלמת כיבוש השטחים שמדרום לנהר אברו. הוא תקף את שבט האולקאדים, שחיו במחוז לה מנצ'ה של ימינו, כבש את עירם אלתיאה ובזז אותה. נפילת העיר הטילה אימה בקרב השבטים האחרים שמיהרו לכרות ברית שלום עמו. לאחר מכן חזר חניבעל לקרטחנה למשך החורף, ובקיץ 220 לפנה"ס תקף את שבט הוואקים שישבו לאורכו של נהר הדורו, הוא כבש בסערה את עריהם החשובות הרמאנדיקה וארבאקלה. נפילת הערים הסעירה את שבט הקרפטנים, השבט החזק והעשיר ביותר באזור, והללו התארגנו למאבק בחניבעל. הם הקימו צבא גדול, אלם חניבעל הביס אותם בקרב נהר הטחו. ולאחר מכן אף שבט או עיר בהיספניה לא העזו להתנגד לשלטונו.
המלחמה השנייה.
סגונטום הייתה מושבה יוונית ששכנה 150 קילומטרים מדרום לנהר האברו, ולפיכך נמצאה בתחום ההשפעה הקרתגי בהתאם ל"אמנת האברו". בשנת 230 לפנה"ס כרתו הרומאים ברית עם סגונטום. בשל כך הרגישה סגונטום מוגנת, והעזה להכריז מלחמה על בעלי ברית של קרתגו. בשנת 219 לפנה"ס החליט חניבעל לתקוף את סגונטום, והטיל עליה מצור. סגונטום פנתה לרומא בבקשת עזרה, והסנאט הרומאי שיגר שליחים אל חניבעל בדרישה שיסיר את המצור מעל העיר, אך האחרון דחה את הדרישה הרומאית. לאחר מכן פנתה המשלחת לקרתגו עצמה, שם הוכרזה מלחמה שנייה.
המצור על סגונטום היה ממושך יותר ממה שחניבעל ציפה, ורק כעבור תשעה חודשים נפלה העיר. חניבעל בזז אותה וביצע בה טבח. לאחר מכן היה עליו להתכונן למלחמה ברומא, כוחו כלל בסך הכל בערך 120,000 חיילים, רגליים 16,000 פרשים וכמה עשרות פילים. הוא שלח בערך 20,000 חיילים רגליים ו-2,000 פרשים להגנת אפריקה. מספר דומה הותיר בספרד תחת פיקודו של אחיו עזרובעל. כמו כן הותיר חניבעל בספרד צי קטן ובערך 20 פילים, עם שאר הכוח עמד לצאת למסע אל חצי האי האפניני בו קיווה להכריע את רומא. חניבעל יצא למסעו באביב של שנת 218 לפנה"ס. הוא החליט להתחיל את המסע בכיבוש כל צפון ספרד של ימינו. המטרה בצעד זה הייתה הרצון שלו לא להשאיר בעורפו אויבים שעלולים לסכן את שלטון קרתגו בהיספניה. הוא חצה את נהר האברו, מפר בכך סופית את החוזה עם רומא. הוא דיכא את שבטי האילורגיטים, הברגוסים, האיירונוסים והאנדוסינים. מלחמות אלו עלו לו במחיר כבד, אולם חצי האי האיברי כולו עד הרי הפירנאים היה כעת בשליטתו. הוא הותיר באזור זה קרתגי בשם חנו כמושל, ועם 40,000 רגליים ו-12,000 פרשים בערך חצה חניבעל את הרי הפירנאים המפרידים בין היספניה לגאליה (היום צרפת).
לאחר מכן המשיך חניבעל לאורך גאליה. אזור זה היה מאוכלס בשבטים גאלים עוינים, לפיכך המפקד הרומאי סקיפיו, שכבר ידע על התקדמותו המהירה של חניבעל, ישב באפס מעשה, משוכנע שחניבעל יתעכב זמן רב. אולם חניבעל שיחד חלק מראשי השבטים והביס אחרים, וכך הגיע מהר יותר מהמצופה אל גדתו הדרומית של נהר הרון. הוא שכר סירות רבות מכפרי המקומיים, ותכנן להעביר בהן את חייליו. אולם אז התארגנה נגדו קואליציית שבטים גדולה בצפון הנהר, והללו תכננו למנוע ממנו לעבור אותו. אולם חניבעל הביס אותם בתמרון מבריק בקרב נהר הרון. בספטמבר של אותה שנה, הגיע חניבעל אל הרי האלפים המפרידים בין גאליה לחצי האי האפניני, עם 38,000 רגליים ו-8,000 פרשים. לאחר מסע קשה בו הזיקו לו הן הקור והן שבט האלוברוגים, הגיע חניבעל עם 20,000 חיילים רגליים ו-6,000 פרשים לאיטליה. המסע כולו לקח בערך חמישה חודשים, במהלכו איבד חניבעל את מרבית חייליו, ואת אחת מעיניו.
חניבעל הביס את הרומאים בסדרת קרבות: קרב טיקינוס, קרב טרביה וקרב טראסימנוס. הרומאים החלו בהפעלת האסטרטגיה הפביאנית, שהועילה אך מעט. בשנת 216 לפנה"ס הביס חניבעל את הרומאים בקרב ענק שכונה קרב קאנאי, שלאחריו עמדה רומא על סף התמוטטות. בין 50,000-60,000 רומים נהרגו או נשבו במהלכו. אולם במקביל בהיספניה התנהלה המערכה לרעת קרתגו, ואחיו של חניבעל, עזרובעל לא הצליח להדוף את התקפות הרומאים שם. מאז שנת 215 לפנה"ס, הפכה המערכה בחצי האפניני למנומנמת יחסית, והקרבות הגדולים שנערכו במהלכה היו מעטים. חניבעל ניסה ללא הרף לנתק את רומא מבעלות בריתה וכך להכריח אותה לחתום על הסכם כניעה, אולם הרומאים העקשנים עמדו בסירובם. הקרתגים ערכו פשיטות על סרדיניה וסיציליה, שהסתיימו ללא תוצאות משמעותיות מבחינת קרתגו. הם אף כרתו ברית עם שתיים מאויבותיהן המסורתיות מוקדון וסירקוסאי. בשנת 204 לפנה"ס פשט המצביא הרומאי סקיפיו אפריקנוס על אפריקה עצמה. הוא ניצל במיומנות רבה את מרירותם של כמה שבטים נומידים ובראשם מסיניסה נגד קרתגו, והטיל מצור על העיר הקרתגית החשובה אוטיקה. אנשי קרתגו הבינו שכעת הם מאוימים ישירות, וחניבעל נקרא לשוב חזרה מאיטליה. חניבעל נענה לפקודה, הוא חמק ממנה בעזרת צי שיצא מקרוטון בלי שהרומאים ירגישו בכך, והפליג עם צבאו חזרה אל אפריקה. לא ברור מה היה גודל הצבא שחניבעל חזר עמו, חסידיו של סקיפיו טוענים שמספרם הגיע ל-24,000. בעוד חסידי חניבעל מצמצמים את המספר לכדי 10,000. שני הצדדים דחו את פעולות האיבה לשנה הבאה, ועם תחילת השנה נפגשו בקרב זאמה. קרב זה היה הרה אסון מבחינת קרתגו, והיא אולצה לחתום על תנאי שלום משפילים שטבעו את המונח "שלום קרתגו".
המלחמה השלישית.