זירת חצי האי האפניני במלחמה הפונית השנייה
מהלך המלחמה > לאחר קאנאי

לאחר קרב קאנאי, בילה חניבעל זמן מסוים באיסוף השלל ובהכרעת כיסי התנגדות רומאיים אחרונים. וארו עצמו נמלט מהקרב עם שבעים פרשים בלבד. כוח רומאי גדול יותר, שכלל מעל 2,000 לגיונרים, נמלט לעיר קנוסיום (קאנוסה המודרנית). מפקדיהם, שסברו שהקיץ הקץ על רומא, תכננו להימלט מחצי האי דרך הים. המזימה נמנעה הודות ליוזמתו של סקיפיו הצעיר, שארגן את חבירת הכוח אל מחנהו של וארו שחזר מובס אל רומא.
חניבעל בילה כמה ימים במנוחה, ולאחר מכן, מכיוון שהיה זקוק לכסף, ניסה לארגן את פדיונם של השבויים הרומאיים שבידיו. הוא שלח עשרה מנכבדי השבויים אל העיר, והללו התחייבו לחזור למחנה הקרתגי בלי קשר לתוצאות המשא ומתן. כמו כן שלח את אחד מקציניו, קרתאלו, בניסיון להגיע להסכם כניעה הוגן, אולם הסנאט סירב אפילו לדון על אפשרות כזו, וקרתאלו הצטווה לעזוב את רומא מיד. צעד אמיץ זה נחשב במחקר המודרני, למעשה שהציל את רומא בשעת משבר. הסנאט אף סירב לפדות את השבויים, בטענה שהללו בגדו בחובתם כחיילים. הרומאים החלו לנקוט בצעדים מעשיים כדי לשקם את העיר. אשמת הכישלון הוטלה על שתי בתולות וסטליות שסרחו. נשים נשואות הצטוו לא לצאת מבתיהן כדי לקונן על אחיהן בעליהן ובניהן שנהרגו, והקינות הוגבלו לזמנים ולמקומות מסוימים. גיל הגיוס הונמך ל-17, ופושעים ועבדים קיבלו רשות לפדות עצמם ולהתגייס לצבא. כלי הנשק הוצאו ממקדשי האלים והחיילים החדשים חומשו בהם. מרקוס יוניוס פארה מונה כדיקטטור באופן זמני.
המטרה העיקרית של הצבא הקרתגי כעת, הייתה למצוא בסיסים לחורף, וכן לפתור את בעיית האספקה. חניבעל עזב את פוליה ופלש למחוז קמפניה. משקרב החורף, הגיע לשערי העיר החשובה נולה. חניבעל תכנן לכבוש אותה בהסתערות פתע, אולם מצא את העיר מוכנה היטב למצור. הוא ידע שמחסור באספקה והחורף המתקרב לא יתנו לו להטיל מצור יעיל על העיר, על כן נסוג וחיפש מקום לחייליו לחורף. העיר העשירה קפואה פתחה בפני הקרתגים את שעריה, וחניבעל נפגש עם נכבדי העיר וכרת עמם ברית הוגנת, על פיה הורשתה קפואה לשמור על חוקיה ומנהגיה, ובניה היו פטורים משירות בצבאו של חניבעל. חניבעל קבע את מחנהו בהר טיפאטה סמוך לקפואה, והורה לחייליו לשלם בכסף מלא על משתאות מזון או כלי נשק, אף על פי שצבאו החזיק למעשה בעיר. הוא קיבל שם נציגים משבטים קמפנים שונים, וכן מהברוטים, הלוקנים, הסמניטים והאפולים, שכולם הציעו לו נאמנות. הברית שחניבעל הציע הייתה מחייבת הרבה פחות מהברית שהציעו הרומאים, כך שהיה קל יותר לקבל אותה.
חניבעל המשיך לנסות להעביר לצידו את הערים המקומיות. הוא תקף את נאפולי, וחיל המצב הרומאי שלה הובס מול חומות העיר. עם זאת, הסנאט המקומי עמד באומץ בהתקפה, וחניבעל ויתר. חניבעל השיג פיצוי בכך שלכד בהסתערות את הערים נוקריה (Nuceria) ואקרי (Acerrae). במקורות מתואר טבח נוקריה בתושבי הערים שנמלטו בהמוניהם, אולם חוקרים מודרניים דוחים את הסיפור וסוברים שמדובר בתעמולה רומית. במקביל, תקף חניבעל את העיר החשובה קאסילינום, ששכנה על גבול פוליה-קמפניה. הרומאים היו נחושים למנוע את נפילת העיר, והדיקטטור פארה יצא בראש צבא אליה. חניבעל הביס את הצבא הרומאי בשערי העיר, מה שאפשר לו להטיל עליה מצור יעיל. העיר הורעבה קשות, וכל מאמצי הרומאים להעביר אליה סיוע נכשלו. בסוף נובמבר או בתחילת דצמבר נכנעה העיר והסכימה לקבל אליה חיל מצב קרתגי. במקביל, הותקפה פאטאליה (Petelia) בידי כוח קרתגי שכלל גם המוני מתנדבים מקומיים טריים. מנהיגי העיר פנו לסנאט, אולם הלה הודה שאין ביכולתו לעשות דבר. כעבור עשרה חודשים, לאחר שלא נותר עוד מזון בעיר, נכנעו התושבים.
הרומאים מצדם, החליטו להמשיך מעתה ואילך עם שיטת האסטרטגיה הפביאנית. חניבעל העביר את חורף 216–217 בקפואה, וחייליו נהנו משפע המותרות שבעיר, מה שהוליד את הביטוי "חורף קפואני". פיליפוס החמישי, מלך מוקדון, שלח משלחת רשמית לדון עמו על ברית אנטי-רומאית. ברית כזו הייתה בדיוק מה שחניבעל היה צריך: פיליפוס היה יכול לספק לחניבעל כוחות רעננים שקרתגו התקשתה לספק לו. תנאי ההסכם שנחתם קבעו כי המלך יכין צי גדול בן כמאתיים אניות, יפלוש לאיטליה, יבוז את החופים ויילחם בים וביבשה בכל הכוח שברשותו; בתמורה יוכל להרחיב כרצונו את גבולות ממלכתו בבלקן. עם זאת, הרומאים הפעילו על פיליפוס לחץ כבד והתוכנית נדחתה לשנה הבאה. כמו כן, גם בסרדיניה החלו המקומיים לגלות עצבנות כלפי השלטון הרומאי, ובהיספניה החלו שני אחיו של חניבעל להשיב מלחמה נגד האחים סקיפיו. הרומאים מצאו עצמם נאבקים בארבע זירות בו זמנית (איטליה, סרדיניה, היספניה, הבלקן), וחניבעל היה יכול לקוות שבקרוב מאוד יאלצו לבקש כניעה.