הזירה הימית במלחמה הפונית השנייה

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

מאזן הכוחות בים

בעקבות תבוסתם במלחמה הפונית הראשונה (264-241 לפנה"ס) נפגעה עוצמתם הימית של הקרתגים. לא זו בלבד שלאחריה היה ציים המלחמתי לאין שיעור קטן יותר משקודם, אלא גם נמנעו כמעט לגמרי, משך המלחמה הפונית השנייה כולה, מהתמודדות בקרב סדור עם אוניות הרומאים. יתרונם של הרומאים על פני הקרתגים לא היה בימאות טובה או בטקטיקות ניגוח מורכבות, אלא בלוחמת סיפונים וביכולת להעמיד אוניות רבות יותר על צוותיהן. לאחר אובדן סיציליה, המשופעת ביישובים הסמוכים לים ועיסוקם בסחר ימי ובספנות, הצטמצמו מאוד משאבי כוח האדם של הצי המלחמתי הקרתגי; הרומאים, לעומת זאת, הוסיפו לגייס חותרים ומלחים מקרב בעלי בריתם הימיים (socii navales) באיטליה. אפשר שזו הסיבה לעליונות הימית הרומאית, המסבירה גם מדוע לא ניטשו במהלך המלחמה קרבות ימיים סדורים וחשובים דוגמת אלה שהתחוללו בזו שקדמה לה.
הרומאים, שנהנו אפוא מעליונות בזירה הימית, הצליחו למנוע את רוב נסיונותיהם של הקרתגים להעביר אספקה ותגבורות אל חניבעל מקרתגו ומהיספניה, שחיוניותן לו הלכה וגברה ככל שנתארכה המלחמה. הצי המלחמתי היה גם שותף עיקרי לסיכול המאמצים להחליש את רומא על ידי פשיטות על ערי החוף באיטליה והצתת מרידות בסרדיניה ובסיקיליה, כדי להקים עליה אויבים נוספים ולאלצה להקצות כוחות לכמה זירות בו זמנית. זאת ועוד, מאחר שהצי הקרתגי לא היווה איום של ממש, יכלו הרומאים לפשוט על חופי אפריקה, ובסופו של דבר להעביר אליה את צבאם ולהכריע את המלחמה על אדמת קרתגו.

מדוע לא פלש חניבעל לאיטליה בדרך הים?

עם פרוץ המלחמה עלה בידי חניבעל להקים צי של 50 קווינקוורמות, אותו הועיד להגנת חופי היספניה מפני נחיתה אפשרית של חיל משלוח רומי, אך רק 32 מאוניות אלה היו מצוידות ומאוישות כהלכה. הרומאים, לעומת זאת, הורידו הימה בתחילת המלחמה 220 קווינקוורמות. 160 מהן נשלחו עם צבא בפיקודו של הקונסול טיבריוס סמפרוניוס אל סיקיליה (סיציליה), כדי להעביר את המלחמה אל אדמת אפריקה כבר בראשיתה; הקונסול השני, פובליוס קורנליוס סקיפיו, יצא בראש חלק אחר של הצבא עם 60 קווינקוורמות בלבד אל היספניה, כדי לבלום מבעוד מועד את מסע המלחמה של חניבעל אל איטליה. ליוויוס מספר, כי "בייחוד נגרע מספר אוניותיו של קורנליוס ורק שישים קווינקוורמות ניתנו לו, לפי שלא היו הרומאים סבורים שיבוא האויב בדרך הים או ייזקק למלחמה ממין זה".
היסטוריונים רבים התחבטו בשאלה, מדוע לא ערך חניבעל את מסעו מהיספניה אל איטליה בדרך הים, אלא בחר בנתיב מרובה התלאות והמסוכן דרך האלפים, בהם איבד כמעט מחצית מצבאו. אפשר, כדעתו של תאודור מומזן, כי חניבעל בחר בפחותה בין שתי רעות, בהעדיפו את תלאות הדרך ביבשה על פני הסתכנות בטביעת חיל המשלוח כולו בסערה בים, שכן "השיט ממאסיליה לאטרוריה ארוך וקשה". זאת ועוד, הוא סמך על תמיכתם של שבטים גאלים בצפונה של איטליה העוינים לרומא; גם אם היה מצליח להנחית את חייליו בחוף גנואה, עדיין נכון לו מסע מפרך וקשה דרך הרי האפנינים כדי לחבור אליהם.
דעה אחרת, שמבטאה המובהק הוא אדמירל מהן, גורסת כי הרומאים שלטו למעשה בים, ולכן נשללה מחניבעל האפשרות להוביל את צבאו אל איטליה בדרך הבטוחה והמהירה יותר. מהן, הוגה תורת העוצמה הימית (Sea Power) ומחשובי התאורטיקנים הימיים בעת החדשה, הגה ופיתח את רעיונותיו בדבר השפעת השליטה בים על מהלך ההיסטוריה בעקבות קריאת דבריו של מומזן על מסע חניבעל. השליטה בים לעולם אינה מוחלטת, שכן אינה דומה לכיבוש טריטוריה ביבשה. על כן אפשרי תמיד שהצד החלש יצליח מעת לעת לפשוט בכוחות קטנים על חופי האויב או להנחית בהם תגבורות קטנות, כפי שאומנם הצליחו הקרתגים לעשות במהלך המלחמה. העובדה, כי משך המלחמה כולה לא ניטש ולו קרב ים חשוב אחד, מעידה לדעתו יותר מכל על משקלה המכריע של העליונות הימית הרומית.
האפשרות השלישית אינה מתעלמת מהשפעתה של העליונות הימית הרומית על מהלך המלחמה, אך גורסת כי קשיים לוגיסטיים שללו מראש כל אפשרות להוביל את חיל המשלוח בדרך הים. צבא חניבעל מנה 90 אלף חיילים, 12 אלף פרשים ו-37 פילים; הובלת מספר כה עצום של סוסים ופילים באוניות וגיוס מאות רבות של אוניות אספקה הייתה פשוט מעבר לכוחם של הקרתגים.

פעולות הציים במימי היספניה (ספרד)

כשהגיעו לרומא הידיעות כי צבא חניבעל כבר חצה את הנהר היברוס (אברו) בדרכו אל צפון איטליה, נשלח הקונסול פובליוס קורנליוס עם שני לגיונות ושישים קווינקוורמות כדי ליירטו בעודו בדרך. הוא הקים את מחנהו בשפך הרודאנוס (רון), אך לא הצליח להשיגו ולעכבו מלחצות את הנהר. על כן שלח את אחיו גנאיוס קורנליוס סקיפיו עם רוב החיילים והאוניות אל היספניה, והוא עצמו שב אל איטליה כדי לפגוש את חניבעל ברדתו מהאלפים. משימת גנאיוס סקיפיו הייתה להשתלט על היספניה, בסיס היציאה והכוח של חניבעל, על ידי רכישת נאמנותם לרומא של השבטים האיברים והשמדת צבא עזרובעל, אחי המצביא הקרתגי שהופקד על היספניה.
במהלך שנת 218 לפנה"ס, בעוד הרומאים סופגים מפלה אחר מפלה מידי חניבעל בצפון איטליה (טיקינוס, טרביה, טראסימנוס), נחל גנאיוס קורנליוס סקיפיו שרשרת השגים בהיספניה. הוא נחת עם צבאו בחוף אמפוריאי (אמפוריאס), ניצח את צבא הקרתגים בקרב קיסה, השתלט על ערי החוף עד הנהר היברוס, והצליח להעביר לצדה של רומא רבים משבטי האיברים בלב הארץ, חלקם בכוח ואחרים בבריתות שלום.
בחודשי החורף, כששבתה הלחימה, הכין עזרובעל את ציו וחייליו לסילוק הפולש, ובאביב 217 לפנה"ס יצא מקרתגו החדשה להתקפה משולבת, ימית ויבשתית. הצי, שמנה כעת ארבעים קווינקוורמות בפיקוד חמילקרת, שט לאורך החוף אל סביבות הנהר היברוס, בעוד הצבא צועד במקביל לו ביבשה. סקיפיו, ששהה במחנה החורף שלו בטרקו (טרגונה), תכנן להתייצב אל מול הקרתגים ביבשה ובים כאחד, אך לאחר שקיבל ידיעות על גודלו העצום של צבא עזרובעל, שינה את תוכניתו ויצא עם שלושים וחמש אוניותיו לקרב ים בלבד. הלחימה, שנערכה בשפך הנהר היברוס, נסתיימה בניצחון מוחץ של הרומאים, אשר הודות לעליונותם בלוחמת סיפונים הצליחו ללכוד עשרים וחמש מאוניות הקרתגים.
לתוצאת קרב הנהר היברוס הייתה השפעה מרחיקת לכת על מצבם של הקרתגים, שכן אובדן השליטה במימי היספניה משמעו היה ניתוק הקשר הימי בין חניבעל לבין בסיס האספקה והתגבורות שלו בהיספניה וערעור מעמדה של קרתגו בקרב השבטים האיברים. בסתיו 217 לפנה"ס שיגרו הרומאים את פובליוס קורנליוס סקיפיו עם עשרים אוניות ותגבורת גדולה לניהול המלחמה בהיספניה יחד עם אחיו. תוכניתם הייתה להרחיב את כיבושיהם דרומה מן ההיברוס, על מנת לשמר ולחזק את היתרון שנחלו בקרב הימי. הקרתגים, שלדברי פוליביוס חשבו כי "לכל תוכניותיהם דרושה השליטה על הים", הגבירו אף הם את מאמציהם כדי להשיג מחדש את השליטה שאבדה להם. על חשיבות המערכה בהיספניה יעידו גם דברי ליוויוס, כי ב-215 לפנה"ס, בעקבות מפלת עזרובעל בקרב דרטוסה מידי שני הסקיפיונים, החליטו הקרתגים להפנות אליה תגבורת גדולה של שנים-עשר אלף רגלים, אלף וחמש מאות פרשים ושישים אוניות מלחמה, שנועדה במקורה להישלח מקרתגו אל חניבעל באיטליה.
ב-211 לפנה"ס, לאחר סדרת קרבות ללא הכרעה, הובס הצבא הרומי על ידי עזרובעל בקרב באיטיס, רבים מחייליו נהרגו ובהם שני האחים סקיפיו, והנותרים נסוגו צפונה להיברוס. שנה אחר כך נבחר פובליוס קורנליוס סקיפיו, בנו של קורנליוס סקיפיו, ליטול את הפיקוד העליון על המערכה בהיספניה. עם בואו ריכז את מאמציו בהטלת מצור על קרתגו נובה וכיבושה. הייתה זו עיר נמל מצוינת ובסיס האספקה הראשי של הצבא הקרתגי. שהוחזקו בה האוצר הקרתגי ובני הערובה מקרב השבטים האיברים, ויכלה לשמש לעת צורך כנמל היציאה לפלישה רומית עתידית אל אפריקה. העיר נכבשה באביב 209 לפנה"ס בפעולה משולבת של הצבא והצי. היה זה הראשון בסדרת ניצחונותיו של המצביא הצעיר והמוכשר, אשר בתוך שלוש שנים השלים את כיבושה של היספניה וסילק ממנה את הקרתגים.

סיציליה, אפריקה וחופיה המערביים של איטליה

סיציליה הייתה זירת המאבק העיקרית בין הרומאים לקרתגים במלחמה הפונית הראשונה, ולאחר כניעת קרתגו עברה השליטה באי לידי רומא. ב-218 לפנה"ס, עם התחדשות הסכסוך, הועידוה הרומאים לשמש ראש-גשר לפלישת חיל משלוח לאפריקה, אם יצליחו לבלום את מסעו של חניבעל אל צפונה של איטליה. הקונסול טיבריוס סמפרוניוס ועימו שני לגיונות ו-160 אוניות מלחמה קבע את בסיסו בעיר הנמל ליליבאום (מרסלה) שבמערב האי, נכון לפקודת הסנאט להעביר את המלחמה אל אדמת קרתגו ברגע המתאים. חניבעל, שאפשרות זו לא נעלמה מעיניו, תגבר עוד קודם צאתו למסע את חילות המשמר בקרתגו, לבל "תימצא אפריקה ריקה ופתוחה לכניסת הרומאים מסיציליה בעוד הוא עצמו מבקיע לאיטליה דרך הישפאניה וגאליה".
בתחילת המלחמה, קודם בואו של הקונסול טיבריוס סמפרוניוס לסיציליה, יצאו מנמל קרתגו עשרים קווינקוורמות ובהן אלף לוחמים כדי לפשוט על חופי איטליה, לבוז את הכפרים, להשם את השדות ולהטיל אימה על ערי החוף. הקרתגים לא יכלו להתמודד עם הרומאים בקרבות ימיים סדורים, כי נפלו במספר אוניותיהם ובלוחמת סיפונים, ועל כן נקטו כבר מראשית המערכה פעולות הטרדה קטנות-היקף מעין אלה. שבע-עשרה מבין עשרים האוניות הללו הגיעו אל איי ליפארה בצפון מזרחה של סיקיליה, אך שלוש נסחפו אל מפרץ מסאנה (מסינה) ונלכדו ללא קרב על ידי שתים-עשרה מאוניותיו של היירון מלך סירקוסאי, בעל בריתה של רומא ששהה אותה שעה במקום. שייטת קרתגית אחרת, המונה שלושים וחמש אוניות, יצאה באותו זמן ממש אל ליליבאום, כדי להשיאה לקום על הרומאים ולעבור לצד קרתגו. הדבר נודע למסאנים מפי השבויים שנפלו לידיהם, ולאחר שהזהירו את הרומאים, כדי שיעמדו על המשמר, עשו אלה את כל ההכנות להתנגשות. בקרב ליד ליליבאום גברו חיילי-הצי הרומאים המרובים יותר על יריביהם הקרתגים ולכדו שבע אוניות אויב על אנשיהן. מאוניות הרומאים נוגחה אחת בלבד, אך הם הצליחו לגרור אותה אל הנמל.
סמפרוניוס, ועימו עיקר הצי הרומי בן 160 אוניות, הגיע אל ליליבאום דרך מסאנה לאחר הניצחון בקרב הימי. הוא חיזק את השמירה בחופי סיציליה, וכדי לשלול מאוניות הקרתגים תחנות ביניים בדרכן אל חופי איטליה, השתלט על האי מליטה (מלטה). אחר כך יצא אל איי ליפארה, על מנת ללכוד את שבע-עשרה האוניות הקרתגיות, שעל פי ידיעותיו עדיין עגנו שם. משלא מצא אותן שב אל ליליבאום, ובעודו בדרך קיבל שתי הודעות: האחת, כי האוניות שחיפש בזזו את שדות העיר ויבו בקלבריה שבדרום איטליה והטילו פחד על אוכלוסייתה; והשנייה, כי חניבעל נכנס עם חייליו לאיטליה ועליו לשוב מיד לעזרת עמיתו הקונסול. הוא הקצה עשרים אוניות להגנת חופי דרום איטליה, הגדיל לחמישים אוניות את צי הפראיטור מרקוס אמיליוס, הממונה על הפרובינקיה סיציליה, ועם יתר הצי והצבא הפליג חזרה אל ארימינום (רימיני) והצטרף ללחימה בחניבעל.
בקיץ 217 לפנה"ס, לאחר סדרת מפלות צבאיות צורבות ומתוך תחושת חירום, החליטו הרומאים להעביר את ניהול המלחמה לידי דיקטטור ובחרו לתפקיד את פאביוס מאקסימוס. אותו זמן ממש הצליחו הקרתגים ללכוד ליד נמל קוסה שיירת אוניות משא, שהובילה אספקה מאוסטיה לצבא הרומי בהיספניה. הרומאים נחרדו מפני קרבת האויב לעירם. לפקודת פאביוס מאקסימוס הכין הקונסול הקודם גנאיוס סרוויליוס את אוניות המלחמה שנשארו ברומא לרדיפה אחר אוניות הקרתגים ולהגנה על החופים, וגייס חיילים רבים ברומא ובהם גם עבדים משוחררים לשירות באוניות כחיילי-צי ולהגנת העיר מפני התקפה מן הים. החותרים והמלחים היו כמקודם מן הערים הימיות, בעלות בריתה של רומא באיטליה (socii navales). שבעים האוניות הקרתגיות פעלו מסרדיניה לשיבוש הקשר הימי בין רומא לצבא גנאיוס סקיפיו בהיספניה, ואף ניסו לחבור אל כוחותיו של חניבעל. כשנודע למפקד הצי הקרתגי כי מאה ועשרים אוניות יצאו מרומא והן דולקות אחריו, נמנע מהתמודדות וחמק דרך סרדיניה בחזרה אל קרתגו. גנאיוס סרוויליוס, שראה לאחר זמן כי לא יצליח להשיג את אויביו, שט עם הצי אל ליליבאום. כדי להשיב לקרתגים כגמולם, יצא עם אוניותיו לאפריקה, בזז את אחד האיים בחופי קרתגו, קיבל דמי כופר מיושבי אי סמוך לו ושב אל ליליבאום. לאחר סילוק האיום שיגרו הרומאים את קורנליוס פומפיוס עם אוניות וחיילים לעזרת אחיו גנאיוס בהיספניה, והפעם הגיעו האוניות ליעדן בבטחה.
המפלה בקרב קאנאי (216 לפנה"ס) ערערה את מעמדה של רומא באיטליה. ערים נוספות עברו לצד חניבעל, וחוסר היציבות התפשט גם אל סרדיניה וסיציליה. הקרתגים ניצלו שעת כושר זו כדי להושיט סיוע בדרך הים לחניבעל ולמורדים כאחד. ב-215 לפנה"ס נשלח מקרתגו אל סרדיניה חיל משלוח בפיקוד עזרובעל המכונה "הקרח", כדי לסייע להמפסיקורה ואנשיו שמרדו ברומאים. האוניות לא הגיעו ליעדן במועד, כי נטרדו בסערה חזקה אל האיים הבלאריים, שם התעכבו בשל הצורך לתקן את הנזקים הרבים שנגרמו להן. משנשלמו התיקונים הנחיתו האוניות את עזרובעל וחייליו בסרדיניה ושבו לאפריקה. אלא ששוב איתרע מזלם של הקרתגים, ובדרכן אל קרתגו נתקלו האוניות בצי רומי בפיקוד טיטוס אוטקיליוס, שחזר אל ליליבאום לאחר ביזת סביבותיה של קרתגו. בקרב הימי שהתלקח בים הפתוח הצליחו הרומאים ללכוד שבע מאוניות הקרתגים על צוותן, והיתר נפוצו לכל עבר והצליחו לחמוק מגורל דומה. באותה עת לערך הצליח גם בומילקר להעביר אל חניבעל תגבורת של חיילים ופילי מלחמה מקרתגו אל העיר היוונית לוקרוי אפיזפיריאוי (לוקרי) שבדרום איטליה, עיר יוונית שנכנעה לחניבעל שנה קודם לכן. אפיוס קלאודיוס פולכר, הפראיטור הממונה על סיציליה, העלה את חייליו לאוניות ומיהר לחצות את המצר ממסאנה אך איחר את המועד. בומילקר כבר עזב עם חייליו את המקום והצטרף לכוחות הקרתגיים הנלחמים בדרומה של איטליה, ואנשי לוקרי סגרו את שערי עירם בפני הרומאים.
ב-215 לפנה"ס מת היירון שליט סירקוסאי, בעל בריתה הנאמן של רומא בסיציליה. עם מותו נתעורר ריב סיעות בין תומכי רומא לתומכי קרתגו, שבסופו עברה העיר לצדה של קרתגו. סכנת השתלטות קרתגו מחדש על האי כולו הפכה מוחשית, ועל כן הורה הסנאט ב-214 לפנה"ס להכין צי של 150 אוניות לניהול המלחמה בים; לשם כך נבנו 100 אוניות חדשות, חלקן החליפו את הישנות יותר. המלחמה, שנכנסה לשנתה הרביעית, דלדלה את אוצרה של רומא, ועל פי החלטת הסנאט נדרשו אזרחי העיר, שגובה הכנסתם השנתית מסכום מסוים ומעלה, לממן מכספם הפרטי את ציודם וכלכלתם של החותרים בצי המלחמתי לתקופה נקובה. הייתה זו הפעם הראשונה, לדברי ליוויוס, בה מומנה אחזקת הצי הרומי ממקורות פרטיים.
בסוף 214 לפנה"ס נמסר ניהול המלחמה בסיציליה לידי הקונסול מרקוס קלאודיוס מרקלוס. הוא כבש את לאונטיני וב-213 לפנה"ס הטיל מצור על סירקוסאי מן הים והיבשה כאחד. שישים קווינקוורמות, מצוידות במכונות מצור, תקפו את חומות הים של העיר, בעוד הצבא בפיקוד אפיוס קלאודיוס פולכר תוקף מן היבשה. ניסיונות השניים לכבוש את העיר בסערה סוכלו על ידי כלי הקלע והמכונות של ארכימדס, ועל כן חדלו מהתקפותיהם, והחליטו להרעיב את העיר עד כניעתה על ידי הטלת הסגר מן הים באמצעות הצי והסגר מצד היבשה באמצעות הצבא. ב-212 לפנה"ס ניסה שוב בומילקר להעביר לנצורים תגבורת ואספקה, שהובאו מקרתגו בשבע-מאות אוניות משא מלוות על ידי מאה ושלושים אוניות מלחמה. מרקלוס חשש כי אם יגיעו האוניות ליעדן ייחרץ גורל המצור לכישלון ואולי גם עתיד המערכה כולה, שכן באותו זמן נאסף צבא רב מכל רחבי האי ונערך להתקפה על הרומאים הצרים על העיר. מרקלוס העלה את חייליו לאוניות ונערך לקרב ימי, אך בומילקר נמנע מהתמודדות, פקד על אוניות המשא לשוב לקרתגו והוא עצמו שט עם אוניותיו אל טרנטום. העיר הוסגרה לבסוף לידי הרומאים על ידי מואריקוס, שכיר חרב קלט-איברי מהיספניה, אותו הפקידו הסירקוסאים על הגנת המבצר והחומות החולשים על הנמל. שנה אחר כך, ב-210 לפנה"ס, הצליח הקונסול מרקוס ואלריוס לאיווינוס להשתלט על האי כולו. לקראת סוף הקיץ של אותה שנה ניסתה שייטת קרתגית בת ארבעים אוניות, בפיקוד חמילקרת, לפשוט על סביבות אולביה שבסרדיניה. כשמיהר הפראיטור פובליוס מאנליוס וולסו להתייצב בחוף נגד הפולשים, שטו סביב האי אל עברו השני, בזזו את אדמת קאראליס ושבו ללא פגע עמוסי-שלל אל קרתגו.
קודם שובו של לאיווינוס לרומא, כדי לדווח לסנאט על השגיו, הוא שיגר את מפקד הצי (praefectus classis) מרקוס ואלריוס מסאלה לאפריקה, כדי לבוז את אדמת קרתגו ולאסוף ידיעות על קורות הקרתגים והכנותיהם. מסאלה, עם חמישים אוניות מלחמה, פשט על סביבות אוטיקה ושב לליליבאיון לאחר 13 ימים עם שלל רב ושבויים. מחקירתם נודע לו על הכנות עזרובעל לפלוש לאיטליה מהיספניה דרך האלפים כדי לחבור לאחיו חניבעל. השבויים סיפרו עוד, כי צי גדול נאסף בקרתגו, והוא עומד לצאת לדרכו בימים הקרובים כדי להשיב לקרתגו את השליטה בסיציליה.
המידע המודיעיני שנאסף באמצעות הצי איפשר לרומאים להיערך מבעוד מועד לשתי המשימות. עזרובעל ועשרים אלף חייליו הצליח אומנם להגיע בנתיב היבשתי מהיספניה אל צפונה של איטליה, אך הובס ונהרג בקרב מטאורוס (207 לפנה"ס) קודם שהצליח לחבור לחניבעל. מאמץ קרתגי נוסף להעביר לחניבעל תגבורות ואספקה, הפעם בדרך הים, נעשה לאחר הקרב. 100 אוניות משא עמוסות אספקה, חיילים וכסף עשו דרכן מקרתגו אל ארצם של הברוטיים בדרום איטליה, שהיו בעלי ברית לקרתגים. האוניות נטרדו ברוח אל עבר סרדיניה, שם הותקפו על ידי אוניות המלחמה של הפראיטור הרומי. עשרים מביניהן טבעו, שישים נפלו בשבי והיתר הצליחו להימלט חזרה לקרתגו.
העליונות הימית הרומאית סיכלה את הניסיונות החוזרים ונשנים של הקרתגים לחולל מפנה במערכה הארוכה והמתישה שניהל חניבעל באיטליה, אך הם עדיין לא אמרו נואש. ב-205 לפנה"ס יצא מאגו בן חמילקרת מן האיים הבלאריים וחצה את הים הטירני בשלושים וכמה אוניות מלחמה ומספר רב של אוניות משא ובהן שנים-עשר אלף רגלים וכאלפיים פרשים. הוא הנחית את הכוחות בחוף ליגוריה באין מפריע, לכד את גנואה והסית את השבטים המקומיים למרוד ברומא. כשהגיעו אליו ידיעות, כי פובליוס קורנליוס סקיפיו שב מהיספניה והוא מתכונן לפלוש לאפריקה מסיציליה, השאיר אצלו עשר אוניות ואת היתר שלח אל קרתגו כדי להגן עליה מפני ההתקפה המתרגשת ובאה. גורל אחר פקד את שמונים אוניות המשא הקרתגיות אשר הובילו אספקה ותבואה אל חניבעל, ונלכדו באותו זמן לערך על ידי גנאיוס אוקטביוס רופוס בחופי סרדיניה. היה זה הניסיון האחרון של הקרתגים להושיט לחניבעל סיוע בדרך הים, שכן משעה זו ואילך ריכזו את כל מאמציהם בהכנות להדיפת הפלישה המתוכננת של סקיפיו לארצם.

הים האדריאטי

מקור סיוע נוסף בו תלה חניבעל תקוות היה פיליפוס מלך מוקדון. הלה החליט לנצל את חולשת רומא לאחר קרב קאנאי כדי להשתלט על איליריה, שהייתה פרוטקטוראט רומאי, וב-215 לפנה"ס שלח בחשאי שליחים מטעמו לשאת ולתת על הסכם עם חניבעל. תנאי ההסכם שנחתם קבעו כי המלך יכין צי גדול, בן כמאתיים אוניות, יפלוש לאיטליה, יבוז את החופים ויילחם בים וביבשה בכל הכוח שברשותו; בתמורה יוכל להרחיב כרצונו את גבולות ממלכתו ביבשת יוון ובאיים. איתרע מזלו של פיליפוס, ושליחיו נתפסו בשובם לארצם על ידי שייטת האוניות שהגנה על חופי איטליה בין ברונדיסיום לטארנטום. כשלמד הסנאט על דבר ההסכם שנחתם, הקצה חיילים למלחמה בפיליפוס על אדמת יוון (המלחמה המוקדונית הראשונה) והכפיל את כוחה של השייטת מ-25 ל-50 אוניות; צי זה, בפיקוד פובליוס ואלריוס פלאקוס, נצטווה לא רק להגן על חופי קלבריה, אלא גם לאסוף ידיעות מודיעיניות על הנעשה מעבר לים, כך שאם המלך יצא למסע כיבושיו כפי שתכנן, יועבר צבא באוניות כדי לסכל את צעדיו.
הלחימה החלה שנה אחר כך, בקיץ 214 לפנה"ס, תוך כדי מצור הרומאים על סירקוסאי. פיליפוס הטיל מצור על אפולוניה, שהייתה בעלת ברית לרומא מאז 229 לפנה"ס, וכבש את אוריקום. כשהגיעו הידיעות למרקוס ואלריוס, הפרו-פראיטור המופקד על הגנת ברונדיסיום וחוף קלבריה, יצא בראש הצי והצבא שברשותו אל אוריקום. העיר נכבשה ללא כל קושי, ואחר כך תקפו הרומאים בחסות הלילה את המוקדונים הצרים על אפולוניה והפילו בהם חללים רבים. פיליפוס ושארית חייליו נמלטו בעור שיניהם חזרה אל ארצם.
השייטת הרומית המוצבת בקלבריה המשיכה גם בשנים הבאות לפקוח עין על תנועת האוניות החוצות את הים האדריאטי, ובעצם נוכחותה סילקה מראשו של פיליפוס כל מחשבה לבוא עם חייליו לעזרת חניבעל. את מסעות המלחמה שלו ניהל המלך המוקדוני מעתה ואילך על אדמת יוון בלבד. ב-205 לפנה"ס, כשהגיעו הידיעות על הפלישה המתוכננת של צבא סקיפיו לאפריקה, שוב ניסו הקרתגים לשדל את פיליפוס להנחית את חייליו בסיציליה או באיטליה, אך ללא הועיל.

הפלישה לאפריקה

ב-206 לפנה"ס, לאחר ששם קץ לשלטונם של הקרתגים בהיספניה, שב קורנליוס סקיפיו לרומא כגיבור. הוא שטח בפני הסנאט את תוכניותיו לסיום המלחמה על ידי העברתה לאדמת אפריקה, אך נתקל בהתנגדות חלק מן הסנאטורים. לבסוף ויתרו מתנגדיו, סקיפיו נבחר לקונסול של שנת 205 לפנה"ס וקיבל לפיקודו את הפרובינקיה סיציליה. באביב 204 לפנה"ס, בתום שנה של הכנות, הפליג מליליבאום צבא של 17,000 חיילים ב-400 אוניות משא ו-40 אוניות מלחמה. דומה שהעליונות הימית הרומאית הייתה מוחלטת, שכן הצי הקרתגי, שמנה אותה עת 100 אוניות מלחמה, לא עשה כל ניסיון להשמיד את צי המשלוח בעודו בדרך.
צבא הפלישה נחת סמוך לעיר אוטיקה, ומיד נערך סקיפיו להטיל עליה מצור. מאחר שנסיונותיו להכניע את העיר לא צלחו והחורף התקרב, חדל ממלאכתו לאחר ארבעים יום; הוא הקים מחנה חורף לחייליו על חצי אי סלעי סמוך לעיר שנקרא לימים קאסטרה קורנליאנה, והעלה את אוניותיו על החוף. האספקה לכוחותיו הגיעה באין מפריע בדרך הים מסרדיניה, מסיציליה ומאיטליה. בראשית אביב 203 הוריד סקיפיו את אוניותיו הימה והציב עליהן מכונות מצור וכלי קלע, ובמסווה של חידוש המצור מן הים והיבשה כאחד תקף בעורמה ובהפתעה את צבאות עזרובעל בן גיסקו וסיפאקס במחנותיהם והרג את מרבית חייליהם. רוחם של הקרתגים נפלה, ובקרתגו נשמעו קריאות להשיב את חניבעל מאיטליה ואף לשאת ולתת על שלום עם הרומאים. בסופו של דבר הוחלט, חרף האבידות הכבדות, לאסוף שוב חיילים כדי לסלק את הפולשים. אלא שמפלה רדפה מפלה, והצבא החדש שגייסו עזרובעל בן גיסקו וסיפאקס הובס גם הוא על ידי חיילי סקיפיו ומסיניסה בקרב המישורים הגדולים.
קרתגו נותרה ללא צבא יבשה, ובאין כל ברירה אחרת, החליטו הקרתגים לשים יהבם על הצי, אותו הכינו במהלך החורף, ולהתקיף את אוניות הרומאים המטילות מצור על אוטיקה. מאחר שידעו כי גם אם ינצחו בקרב הימי תוכרע המלחמה בסופו של דבר ביבשה, שיגרו הודעה אל חניבעל וקראו לו לשוב מיד עם צבאו אל אפריקה, ואף החלו שוקלים לבקש שלום מאת הרומאים כדי לסיים את המלחמה.
סקיפיו, שעסק אותה עת בכיבוש סביבותיה של קרתגו ונערך להכנעת העיר טונס (תוניס), ראה ממרחק את הצי הקרתגי עושה את דרכו אל עבר אוטיקה. הוא ידע כי אוניותיו, העמוסות מכונות מצור וכלי קלע והן קרובות לחומות העיר, אינן מוכנות להתמודדות בקרב ימי סדור, ועל כן חש במהירות להצלת אוניות האספקה והמלחמה גם יחד. הוא עגן את אוניות המלחמה בשורה אחת, סידר סביבן את אוניות המשא במערך שעומקו שלוש-ארבע שורות וקשר אותן זו לזו באמצעות תרנים וסקריות, תוך שהוא מותיר ביניהן רווחים המתאימים לגיחת ספינות קלות. כך יצר מעין חומה ארוכה ו"שדה קרב" גם יחד, שעליו יכלו חייליו להביא לידי ביטוי את יתרונם בלוחמת סיפונים וירי כלי קלע. הקרתגים תקפו באוניותיהם את אוניות המשא, ותחת מטר הקלעים הצליחו לגרור באמצעות אונקלים וללכוד 60 אוניות משא על מטענן. ליוויוס כותב, כי היסוסי הקרתגים והתמהמותם היא שהצילה את הרומאים מאסון; לו תקפו את יריביהם מיד, קודם שהספיקו להקים את חומת אוניות המשא, אפשר שהיו מצליחים לנתק את צבא סקיפיו ממקורות האספקה והתגבורת שלו ולהכותו כשהוא מבודד באפריקה.

כניעת קרתגו

לאחר מפלתו הסופית של סיפאקס והשלמת כיבושה של טונס על ידי סקיפיו, גבר קולם של הקרתגים המצדדים בסיום המלחמה. תנאי הסכם השלום שהציב סקיפיו ליריביו היו קשים ביותר, אך הם קיבלום בין מחוסר ברירה בין משום שניסו להרוויח זמן עד הגעת חניבעל מאיטליה. מלבד הסגת צבא חניבעל מדרום איטליה וצבא מאגו מגאליה, נדרשו הקרתגים לסלק ידם מהיספניה ומכל האיים שבין איטליה לאפריקה, לספק את מחסורו של הצבא הרומי באפריקה עד אישור ההסכם על ידי הסנאט הרומי, לשלם פיצויים בכסף, ולמסור לידי סקיפיו את כל אוניות המלחמה שלהם להוציא עשרים.
חניבעל שב לאפריקה עם צבאו ללא כל פגע. היה בכוחם של הרומאים למנוע זאת או להשמידו בדרך, אך הם לא ניצלו הזדמנות זו. כפי הנראה שמחו לראותו עוזב את אדמת איטליה ואולי לא רצו להפר את ההסכם עליו חתמו. זמן קצר לאחר נחיתת חייליו בחוף לפטיס מאגנה התחדשה המלחמה בין הצדדים. הסנאט, ער לאפשרות כי גם סקיפיו עלול כקודמיו לנחול תבוסה מיד המצביא הקרתגי, תיגבר את 40 אוניותיו ב-120 נוספות. זיכרון מפלתו של רגולוס בקרב בגרדס (255 לפנה"ס), עת צבאו המוכה נשאר מבודד על אדמת קרתגו בלא יכולת להיחלץ בשל מיעוט אוניות, ודאי עמד לנגד עיניהם של הסנאטורים.
גורל קרתגו והמלחמה כולה הוכרע לבסוף בקרב זאמה (202 לפנה"ס). הייתה זו תבוסתו הראשונה והיחידה של חניבעל, אך המכרעת. לקרתגים לא נותרה כל ברירה, אלא לבקש שלום מן הרומאים. ברם, התנאים שכפה עליהם סקיפיו היו חמורים פי כמה משקודם. ליוויוס מספר, כי הקרתגים "הסגירו את אוניות המלחמה, הפילים, העריקים (הרומאים), העבדים הנמלטים וכן ארבעת אלפים שבויים ובהם הסנאטור קווינטוס טרנטיוס קוּלֶאוֹ. סקיפיו ציווה להוריד את האוניות הימה ולהעלותן באש. יש אומרים, כי חמש-מאות אוניות היו שם מכל סוגי האוניות המהלכות במשוטים, ולמראה פתאום זה של הבערה נעצב לבם של הקרתגים כמו עלתה קרתגו עצמה בלהבות."