לפי תיאורו של פוליביוס, התחולל במקביל לקרב העיקרי גם קרב משני בעברו השני של נהר אאופידוס. הפיקוד הרומאי השאיר במחנה הראשי שלו כעשרת אלפים רגלים, שנועדו להשתלט על מחנהו של חניבעל ועל שיירת המטען שלו, ובכך להשלים את הניצחון על הצבא הקרתגני. כאשר החל הקרב העיקרי, תקף הכוח הרומאי שהושאר במחנה את חיל המצב שחניבעל השאיר במחנה שלו, והיה קרוב לכבוש אותו. אולם בשלב זה כבר הוכרע הקרב העיקרי, וחניבעל חש לעזרת חיל המצב שלו, הביס את הכוח הרומאי, וכבש את מחנהו. בקרב זה נהרגו 2,000 חיילים רומיים וכ-8,000 חיילים נפלו בשבי.
האבדות הרומיות בקרב היו גדולות. הן כללו, בין השאר, את הקונסול אמיליוס פאולוס, שני הקונסולים הקודמים, 80 סנטורים (כשליש מכלל חברי הסנאט הרומי), 29 טריבונים צבאיים, ומספר רב של אריסטוקרטים פטריקים, חברי האליטה הפוליטית והצבאית של הרפובליקה הרומית. על מנת להרשים את ההנהגה של קרתגו בגודל הניצחון (ולשכנע אותה לשלוח תגבורות לצבאו באיטליה), שלח חניבעל סלים מלאים בטבעות החותם של האריסטוקרטים הרומיים שנהרגו בקרב לקרתגו, והורה להציג אותם בפני "מועצת הזקנים" והסנאט הקרתגני.
קיימים הבדלים ניכרים בין המספרים בהם נוקבים המקורות הראשוניים השונים (בעיקר ליוויוס ופוליביוס) לגבי אבדות הצדדים היריבים במהלך הקרב. לפי פוליביוס הושמד הצבא הרומאי כמעט לחלוטין. כ-70 אלף חיילים נהרגו, כעשרת אלפים נפלו בשבי (8,000 רגלים ו-2,000 פרשים), ורק שלושת אלפים רגלים וכ-400 פרשים הצליחו להיחלץ בשלום משדה הקרב. לפי ליוויוס, אבדות הצבא הרומאי היו קטנות בהרבה, וכללו כ-48 אלף הרוגים וכ-4,500 שבויים (3,000 רגלים ו-1,500 פרשים). אולם מספר השבויים המופיע אצל ליוויוס, לא כולל את החיילים שנפלו בשבי בימים שלאחר הקרב. לפי תיאורו כ-19 אלף חיילים נמלטו משדה הקרב, ורובם מצאו מחסה במחנה העיקרי ובמחנה המשני של הצבא הרומאי, והתבצרו בהם. מתוכם רק כ-4,000 רגלים וכ-200 פרשים הצליחו להגיע בשלום לעיר קאנוסיום, בה התרכזו שרידי הצבא הרומאי. שאר החיילים, שחלקם היו פצועים, נכנעו לחניבעל, לאחר שהטיל מצור על שני המחנות, בתמורה להבטחה שיאפשר להם לצאת לחופשי תמורת תשלום כופר. כלומר, המספר הכולל של השבויים הרומיים, לפי ליוויוס, היה 15–20 אלף חיילים. אבדות הצבא הקרתגני היו קלות יחסית. לפי פוליביוס הם כללו פחות מ-6,000 הרוגים, רובם לוחמים קלטים, ואילו ליוויוס נוקב במספר 8,000 הרוגים.
ניתוח הטקטיקה של הצדדים.
היו כמה גורמים עיקריים לניצחונו של חניבעל בקרב על אף נחיתותו המספרית. שיטת הפיקוד הרומית הייתה לא יעילה – הקונסולים התחלפו מדי יום, והצבא חסר מפקד ראשי. בנוסף לכך, הקונסולים, אף ששירתו בצבא בעברם, לא היו קצינים מקצועיים, ונבחרו לא בזכות כישרונם הצבאי אלא בעיקר בזכות ייחוסם ומעמדם הפוליטי.
בקרב עצמו היה המערך המניפולרי אמור להבטיח מידה מסוימת של גמישות, אך דבר זה לא קרה. היו לכך סיבות אחדות. ראשית, המפקד בפועל, הקונסול טרנטיוס וארו, הטיל לקרב את כל כוחותיו בדרג הראשון, כדי לשבור את מרכז המערך הקרתגני, ולא שמר כוח בעתודה, ולכן לא עמדו לרשותו כוחות שיכלו לספק מענה להתקפה האגפית של הרגלים הכבדים הלוביים. שנית, כשהלובים תקפו את אגפי הכוח הרומי, הם התנגשו עם הכוחות הפחות איכותיים של הצבא הרומאי, הלגיונות שגויסו מקרב בעלות הברית האיטלקיות של רומא, שכן הלגיונות הרומיים המנוסים יותר הוצבו במרכז מערך הלגיונות, במטרה לפרוץ במהירות את הקו הקרתגני.
בנוסף, עצם ההתקפה האגפית שיבשה לחלוטין את המערך הרומי ואת שרשרת הפיקוד. הרומאים נאלצו לפנות ב-90 מעלות כדי לפגוש את האיום החדש, פעולה קשה מאוד לביצוע בתנאי קרב. פוליביוס מציין שהרומאים פנו לעבר הלובים כיחידים וביחידות קטנות, אך גם אילו הצליחו יחידות משנה מסוימות לשנות את מערכן ולפנות כדי לקדם את המתקפה הקרתגנית, הרי שהמניפולים שהוצבו מאחורי המניפולים שלחמו בקו הראשון, היו דחוסים בצורה כזאת שלא היו יכולים לבצע את התמרון הנדרש, ופערים היו חייבים להיווצר בקו הרומי.
גם פרשיו הכבדים של חניבעל, שתקפו את עורפו של הכוח הרומי, גרמו שם למצב דומה. יחידות דחוסות שחסרו מרחב תמרון נאות שיאפשר להם להתגונן ביעילות נגד האיום החדש. יתרה מכך, העורף הורכב בשלב זה מווליטס – חיילים קלי חימוש שהוצבו בתחילת הקרב בחזית המערך הרומאי, ואחרי סיום ההתכתשות הראשונית נסוגו לעורפו. חיילים אלה היו בעלי מיגון קל בלבד, ולכן לא יכלו לעמוד מול הפרשים הקלטיים והאיבריים הכבדים. הם נסוגו לכיוון האפשרי היחיד מבחינתם – לתוך מרכז המערך הרומי, וכך שיבשו עוד יותר את המערך של הלגיונות.
במהומה שנוצרה, חיילים רבים איבדו את הקשר עם יחידות האם שלהם, היות שהמערך של הצבא הרומאי השתבש לחלוטין, ואיבד את הלכידות שלו, ולכן הם לא יכלו להגן על עצמם ביעילות. חיילים רבים איבדו את הרצון להילחם, והיו מבועתים עד אימה. רבים מהם לקו בהלם, ואחרים נפלו לקרקע אחרי שנפצעו פצעים קלים, ונדרסו תחת רגלי חבריהם.
תוצאות הקרב ומורשתו.
השפעה על המשך המלחמה.
אף שלתבוסה הרומית בקרב קאנאי לא הייתה השפעה מכריעה על מהלך המלחמה בזירת חצי האי האפניני, היא גרמה להנהגה הרומאית לאמץ אסטרטגיה של התשה במלחמה נגד חניבעל ולהימנע מקרב הכרעה נוסף נגד צבאו, ואיפשרה לצבאו של חניבעל להמשיך להחזיק בחלקים מדרום איטליה במשך 12 השנים הבאות. בין ההשפעות הנוספות ניתן למנות גם את נטישת כל קמפניה את בריתה עם רומא. שתי הערים הגדולות באיטליה אחרי רומא, קפואה וטרנטום (כיום טאראנטו), עברו לצדו של המצביא הקרתגי, אך לא הייתה לכך השפעה של ממש על המלחמה. הרומאים הצליחו לבודד את בעלות בריתו החדשות של חניבעל, ולהכניע אותן בזו אחר זו. חניבעל, עם צבאו הקטן, לא יכול היה להיות בכל מקום בכל זמן, ולכן לא הצליח למנוע זאת. בסופו של דבר נאלץ חניבעל לפנות את צבאו מאיטליה כדי להגן על מולדתו מפלישה רומית, שהביאה בסופו של דבר לסיום המלחמה הפונית השנייה.
לאחר הקרב שלח חניבעל את אחיו מאגו לקרתגו, במטרה לשכנע את הסנאט הקרתגי לשלוח לו כוחות נוספים. מאגו שפך בפני חברי המועצה טבעות שנלקחו מסנטורים רומאים שנהרגו בקרב במטרה להרשימם, אולם מתנגדם הפוליטי של משפחת ברקה חנו הגדול תקף אותו בתגובה בסדרת שאלות שהביכו אותו. גם הכוחות שהצליח מאגו לגייס לא הגיעו לחניבעל אלא נשלחו לחזית בספרד, לאחר שאחיו עזרובעל הובס בקרב דרטוסה.
בעקבות הניצחון בקאנאי נחתמה האמנה המקדונית-קרתגית בין חניבעל לפיליפוס החמישי מלך מוקדון. פיליפוס חשש מהמעורבות הרומית באיליריה, ולאחר קרב קאנאי סבר שגורלה של רומא נחתם, ולפיכך רצה להבטיח שלאחר הניצחון הקרתגי תיכלל מוקדון בהסכמי השלום ותקבל את השטחים הנחוצים לה בבלקן. חניבעל מצידו היה זקוק לתגבור צבאי, אולם בשל פעולות נמרצות מצד הצי הרומאי לא זכה לסיוע ממשי ממוקדון. גילוי האמנה בידי הרומאים הביא לפרוץ המלחמה המוקדונית הראשונה בין רומא למוקדון.
ייתכן שלחניבעל לא היה ציוד מצור ראוי לשמו, וצבאו לא התאים למצור ארוך על כרך גדול כרומא. אפילו המצור על סגונטום, עיר קטנה בהרבה מרומא, לקח לצבאו שמונה חודשים. בעיה חמורה נוספת הייתה העדר בסיס שיוכל לספק אספקה לצבאו ולהאכילו במשך המצור הארוך. יתר על כן, כל האסטרטגיה של חניבעל הושתתה על הכרעת רומא בקרבות שדה ולא במצור, מתוך תקווה שבעלות בריתה ינטשו אותה. משלא נטשו, לא הייתה לחניבעל אפשרות לנצח במלחמה, ובסופו של דבר הפסיד בה בגלל מאגר כוח האדם העצום שעמד לרשות רומא. אף שלרומאים אבדו כ-200,000 חיילים בשורת התבוסות שספגו בשנים הראשונות של המלחמה נגד חניבעל, עדיין יכלו לגייס מאות אלפי חיילים חדשים. לקרתגו לא היו משאבים בסדר הגודל הזה, והשליטה הרומית המוחלטת בזירה הימית, הקשתה מאוד על העברת אספקה ותגבורות לצבאו של חניבעל באיטליה.
בקרב יחיד זה אבדו לרומאים בין 50 ל-70 אלף לוחמים. רוב המדינות בעת העתיקה היו מתמוטטות אחרי אבדות קשות כל כך, מה עוד שאלה הצטרפו לאבדות הכבדות שספגו הרומאים בקרבות קודמים נגד חניבעל, ועל כן הישרדותה של רומא היא עדות לחוזקה הכלכלי והדמוגרפי כמדינה. אבדות הרומאים בקרב זה שניות רק לאבדותיהם בקרב אראוסיו, כמאה שנה לאחר מכן, במהלך מלחמת הקימברים והטווטונים. בראייה היסטורית ארוכת טווח, משחר ההיסטוריה האנושית ועד ימינו אנו, קרב זה נחשב לאחד מ-50 הקרבות העקובים ביותר מדם.
השפעה על הצבא הרומי.
לקרב קאנאי הייתה השפעה גדולה על הטקטיקה של הצבא הרומי ועל מבנהו. הצבא הרומי בקרב קאנאי התפרס במבנה המניפולרי, ששילב יחד מספר שורות חיילים מסוגים שונים. המבנה המניפולרי אמנם הוכיח עצמו כמוצלח במיוחד אך עדיין סבל מחולשות מבניות, ואותן ידע חניבעל לנצל. על אף גמישותו, היה המערך פגיע להתקפה מן האגף והיה קטן מכדי לעמוד במשימה עצמאית. אם אוגף, נאלץ הלגיון לפנות ולהילחם כאשר צידו מופנה אל האויב. המניפולים בקווים האחוריים לא הצליחו לפנות בצורה יעילה, וללכד את שורותיהם אל מול האויב.
בהמשך המלחמה חלו שינויים בטקטיקה של הצבא הרומי, והמבנה המניפולרי נוצל בצורה טובה יותר. גם הרכב הצבא השתנה; במקום הסתמכות בלעדית כמעט על כוחות אזרחיים שגויסו אד הוק, עבר הצבא להסתמכות רבה יותר על יחידות ותיקות ששירתו שנים רבות בצבא. כך הפך הצבא הרומי בהדרגה מצבא אזרחי לצבא מקצועי שאפיין אותו בימי הרפובליקה המאוחרת וימי הפרינפיקט.