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