עם פרוץ המלחמה שלחו הרומאים ארבעה לגיונות להיספניה בפיקוד פובליוס קורנליוס סקיפיו כדי להביס את חניבעל. בפני חניבעל עמדו שתי אפשרויות. הראשונה הייתה להישאר בהיספניה ולהילחם שם נגד הרומאים, כפי שעשה אביו בסיציליה במהלך המלחמה הפונית הראשונה. האפשרות השנייה הייתה להעביר את המלחמה לשטח האויב, ולפלוש לחצי האי האפניני. צבאו של סקיפיו לא היה גדול, ובהתחשב בכך שחניבעל נמצא בשטח שהיה מוכר לו היטב, כשלצידו שבטים בעלי ברית מהם יכול היה לגייס לוחמים נוספים, סביר להניח שאילו היה נשאר בהיספניה, יכול היה להביס את הצבא הרומאי שנשלח נגדו. עם זאת, מצביא מוכשר כחניבעל בוודאי למד היטב את לקחי המלחמה הפונית הראשונה. במלחמה זו זכו הקרתגים בלא מעט ניצחונות בקרבות נגד כוחות צבא וצי רומיים, אולם הרומאים תמיד הצליחו לגייס כוחות נוספים והניצחון הסופי במלחמה היה שלהם. בנוסף לכך, די היה בנוכחות כוח רומאי קטן יחסית בחצי האי האיברי, כדי לגרום לחלק מהשבטים האיברים לנטוש את בריתם עם קרתגו ולעבור לצידה של רומא, ולרתק את הצבא הקרתגי להגנת היספניה מה גם שהניסיון הוכיח שהרומאים הגאים לא יהיו מוכנים לחתום על הסכם כניעה, כל עוד עירם לא תהיה מאוימת ישירות. לפיכך, לדעת חלק מהחוקרים, חניבעל סבר שהדרך המהירה ביותר לכפות על רומא להסכים לסיום המלחמה בתנאים נוחים לקרתגו, תהיה באמצעות פלישה לאיטליה ויצירת איום ישיר על רומא גופא. לדעת חוקרים אחרים, חניבעל ידע היטב שהצבא הרומאי עולה בהרבה על הצבא הקרתגי מבחינה פוטנציאל כוח האדם העומד לרשותו ומבחינת רמת הציוד המשמעת והאימונים שלו, לכן התקווה היחידה לנצח במלחמה נגד הרפובליקה הרומית היא למוטט את שליטתה באיטליה, ליצור נתק בינה לבין בעלות בריתה, וליצור עליה לחץ כה כבד, שיכריח אותה לחתום על הסכם שלום נוח לקרתגו. חניבעל ציפה שהשבטים הגאליים בצפון חצי האי האפניני (מצפון לנהר הפו) יתקוממו נגד הרומאים ויחברו לצבאו, וחשב שניתן יהיה לגייס גם את תמיכתם של חלק מהערים והשבטים באיטליה, שמאסו בשלטון הרומאי. ייתכן שהוא אף חזה מראש אפשרות ליצירת ברית צבאית עם מוקדון נגד רומא. כמו כן, חניבעל הפריז מן הסתם באמונתו ביכולותיו שלו כמצביא ומדינאי. בהתחשב בתנאים אלו, הרי שההחלטה לפלוש לחצי האי האפניני נראית כהחלטה נכונה.
עם זאת, חלק מהחוקרים מבקרים את החלטתו של חניבעל לפלוש לאיטליה, וטוענים שהוא יצא למלחמה נגד רומא עם תוכנית אחת בלבד: קרב הכרעה שבעקבותיו תיכנע רומא. ייתכן שתוכנית זו הושפעה מהלקחים של העימותים הצבאיים הקודמים בין קרתגו לבין רומא. אולם משהתברר לחניבעל לאחר קרב קאנאי שתוכנית זו לא התממשה, ושהרומאים אינם מוכנים לנהל משא ומתן למרות תבוסתם בקרב, לא הייתה לו אסטרטגיה חלופית. לכן הוא נגרר, בניגוד לרצונו, למלחמת התשה מתמשכת (בה יכלו הרומאים להביא לידי ביטוי את המשאבים העדיפים שעמדו לרשותם) ונאלץ לצעוד "למעלה ולמטה בחצי הדרומי של חצי האי", בניסיון עקר לנתק את רומא מבעלות בריתה באיטליה. דקסטר הויס (Hoyos) במאמרו משנת 1983, "Hannibal: What Kind of Genius", ממשיל את חניבעל בשלב השני של המערכה לאדם המחזיק זאב באוזניו. הוא יכול להמשיך להחזיק בו, אולם לא יכול להכריעו או להרפות ממנו, כלומר לבצע נסיגה.
טקטיקה ואסטרטגיה.
הלחימה בזירה האפנינית התאפיינה בחלק גדול מהזמן, בניסיונות של הצדדים היריבים להשתלט על ערים. באותה תקופה, היה מקובל להפעיל שתי טקטיקות עיקריות בעת תקיפת יעד מבוצר: הסתערות עם סולמות, מגדלי מצור ואילי ניגוח, או הטלת מצור ממושך, שנועד להכניע את העיר בעזרת הרעבה ומניעת גישה למשאבים. הרומאים אף פעלו בצורה ייחודית, במסגרתה הלגיונרים הסתדרו במבנה טסטודו צפוף שהגן עליהם מפני החצים וכלי ההטלה של האויב, ובצורה זו התקרבו לחומות העיר. בנוסף, הופעלו כלי ארטילריה כבדים שלא היו פרוסים בדרך כלל בשדה הקרב - הקטפולטות. כלי ארטילרי זה היה מסוגל להטיל סלעים כבדים שהיה באפשרותם לפגוע בחומות העיר. בנוסף, ירי מכלי ארטילריה קטנים יותר - סקורפיונים ובליסטראות, סילק את האויב מהחומות ולא אפשר למגנים להתגונן באופן יעיל. במקרים שטקטיקת ההסתערות נכשלה, התוקפים היו עוברים בדרך כלל לניהול לוחמת מצור. המצור היה מתנהל לרוב בטקטיקת "כיתור", במסגרתה היו מכתרים את העיר, חוסמים את דרכי הגישה אליה, ומונעים ממנה אספקה עד לכניעתה. בכל הקשור ללוחמת מצור, סבל חניבעל מנחיתות, כיוון שצבאו לא היה מצויד בכלי מצור, ולכן הוא נאלץ להישען על הסיוע של בני בריתו באיטליה, או לייצר את האמצעים הדרושים לכיבוש ערים (מגדלי מצור, אילי ניגוח וכלי ארטילריה) במקום.
חניבעל הבין היטב, שצבאו לא מסוגל לנצח לבדו במלחמה נגד הרומאים. לאחר קרב קאנאי הוא שלח את אחיו מאגו ברקה אל קרתגו בבקשה לקבל תגבורת. על פי ההיסטוריונים העתיקים, התגבורת נמנעה ממנו בשל התנגדות אויביו הפוליטיים בהנהגת חנו הגדול. עם זאת, במבט לאחור נראה שגם אם רצתה בכך, קרתגו הייתה מתקשה לספק לו סיוע משמעותי, משום שהנתיב הקצר ביותר מקרתגו לאיטליה, בדרך הים, היה חסום על ידי הצי הרומי, ששלט בימים. ציי מלחמה עתיקים לא יכלו לשהות בים ללא הפסקה לאורך זמן, אולם הרומאים החזיקו בנמלים ובבסיסים באיטליה, סיציליה, קורסיקה וסרדיניה, כך שהאגן המערבי של הים התיכון היה נתון לפיקוחם. הצי הקרתגני היה אחד הציים החזקים ביותר בעולם העתיק. בניגוד לצבא היבשה הקרתגני, הוא היה מורכב ברובו מאזרחי קרתגו, ולא משכירי חרב. אולם אובדן מרבית הבסיסים הימיים של קרתגו מחוץ לחופי צפון אפריקה, שנפלו לידי הרומאים לאחר המלחמה הפונית הראשונה, והשימוש היעיל שעשו הרומאים בגשרי השתלטות (ה"עורב") במהלך התנגשויות ימיות עם הצי הקרתגני, העניקו עדיפות גדולה לצי הרומאי. הקרתגים הכירו בכך, ובמהלך המלחמה נערכו אך מעט קרבות ימיים. חניבעל, שהבין שהשליטה הרומאית בים מונעת ממנו לקבל תגבורות מהבית, ניסה תמיד להשתלט על ערי חוף, שדרכן יוכל אולי לקבל תגבורות קטנות. למרות זאת, בקרתגו לא יכלו לספק לו עזרה רבה, מכיוון שהכוחות היו דרושים בשאר הזירות. בפועל, חניבעל קיבל סיוע משמעותי מקרתגו בדרך הים רק במקרה אחד, זמן קצר לאחר קרב קאנאי, כאשר בומילקר הצליח להנחית ארבעת-אלפים פרשים נומידים, ארבעים פילים ואספקה בנמל לוקרי. בנוסף, בשלבי הסיום של המלחמה הפונית השנייה, הצליח מאגו ברקה, אחיו של חניבעל, לנחות באזור ליגוריה עם כוח משמעותי.
דרך נוספת שבה אולי יכלו הקרתגנים לספק סיוע לחניבעל, הייתה דרך היבשה. אולם מסעו של חניבעל לאיטליה דרך היספניה גאליה והרי האלפים, הוכיח שמדובר בדרך קשה מאוד. כמו כן, במסגרת הזירה האיברית במלחמה הפונית השנייה, הרומאים השתלטו על דרום-מזרח היספניה ועל אזור הפירנאים, עובדה שמנעה אפשרות של מסע כזה. רק בשנת 207 לפנה"ס, הצליח עזרובעל ברקה לחמוק מהצבא הרומאי בהיספניה, ולהגיע אל חצי האי האפניני בדרך היבשה. כמו כן, בקרתגו אמנם ניסו לעורר מרידות אנטי-רומאיות בסרדיניה ולבצע פשיטות על סיציליה, אולם ניסיונות אלו הסתיימו ללא הישגים מבחינת חניבעל, ועד סוף המלחמה הסיוע שקיבל מהבית היה מועט. מסיבה זו ניסה חניבעל להשיג את תמיכתם של בעלי ברית חיצוניים, מוקדון וסירקוסאי, שיכלו אולי להעניק לו סיוע כזה, וגם להעסיק את הרומאים בזירות נוספות כדי לגרום להם לדלל את כוחותיהם בחצי האי. תוכנית זו הצליחה מעט מאוד, הרומאים הצליחו לעורר את הליגה האיטולית ופולייס נוספת ביוון ההלניסטית נגד מוקדון, כך שפיליפוס החמישי, מלך מוקדון לא היה יכול לסייע לבן בריתו. הרומאים הציבו שני לגיונות בסיציליה, והצליחו לאחר סדרת קרבות לכבוש את סירקוסאי.
בשלב הראשון של המערכה, האמין חניבעל שרומא תיכנע, או לפחות תאלץ לקבל הסכם שלום בתנאים הנוחים לקרתגו, לאחר שצבאה יובס במספר קרבות מכריעים. אולם לאחר קרב קאנאי, סירבו הרומאים להיכנע והמשיכו להיאבק אף על פי שמצבם היה קשה. חניבעל, שבלאו הכי לא היה יכול במצבו להטיל מצור על רומא, נאלץ מעתה ואילך להסתמך בעיקר על אסטרטגיה, שנועדה להעביר לצידו את בעלות הברית האיטלקיות של רומא, ולנתק את הקשר בינן לבין רומא. הרומאים שלטו על ערים רבות באיטליה שתושביהן נטרו לה טינה. ערים אלו יכלו לספק לחניבעל אספקה ונשק, וכן להעניק לו מקלט בעונת החורף. חניבעל ידע לנצל רגשות איבה נגד הרומאים וסכסוכים פוליטיים בין הערים, ודאג להדגיש שוב ושוב שמלחמתו מכוונת כלפי רומא ולא כלפי שאר העמים יושבי חצי האי. הוא שחרר לחופשי שבויים, שהשתייכו לחיילות העזר שגויסו מקרב בעלות הברית האיטלקיות, בעוד שאת השבויים הרומאים מכר לעבדות. בערים שכבש הוא ביטל את המיסים שגבו הרומאים וגבה מיסים נמוכים יותר, אם כי דרש נאמנות מוחלטת וכן אספקה וציוד. בפועל, התוצאה שהשיג הייתה דלה יותר מהמצופה, ועל אף שמספר ערים חשובות הצטרפו אליו, הרי שרבות מהן הוא נאלץ לכבוש בכוח הנשק. עם זאת, חניבעל הצליח להחזיק מעמד בחצי האי במשך כ-15 שנים, כשהרומאים אינם מצליחים לגרש אותו משם. בסופו של דבר הוא נאלץ לסגת, לא בגלל תבוסה, אלא כדי להגן על מולדתו שהותקפה בידי צבא רומאי נוסף בפיקודו של סקיפיו אפריקנוס.
צבאות ופיקוד.
רומא.
הצבא הרומאי.