לא אתה לא מכיר, ואתה ממשיך לעשות מעצמך צחוק...
אני אעשה לך סדר (תוכל להודות לי אח"כ).
הקרב התחלק פחות או יותר לשניים,
1. קרב הפרשים - הפרשים של צבא קרתגו היו מורכבים ממספר עמים (איברים, קלטים, ונומידים), הטקטיקה של חבניעל הייתה להשתמש בפרשים הקלטים בתור גל ראשון של התקפה באמצעות כידוני השלכה (מה שגורם לנזק כבד, אך לא מצריך מאבק פיזי בין הלוחמים), ולאחר מכן להשתמש בפרשים הנומידים (שהיו הרבה יותר קלים) בתור כוח רתק, שנועד להחזיק את הפרשים הרומאים במקום, הנומידים לא נלחמו ראש בראש, הם רק תמרנו והשליכו כידונים קלים, בזמן שהכוחות הרומאים המשיכו להילחם במקום, חניבעל הכניס את הפרשים הכבדים שלו (קלטים \ איברים) והם גרמו למרבית הנזק בצבא הפרשים הרומאים, כתוצאה מהמכה הקשה הפרשים החלו להימלט מהקרב, והנומידים (שכאמור היו הרבה יותר קלה, ולכן גם יותר מהירים) רדפו אחריהם למשך קילומטרים רבים, ופגעו בהם קשה, בסופו של דבר כמעט שלא נשאר כלום מחיל הפרשים הרומאי.
לאחר שחיל הפרשים הושמד, חניבעל יכול היה לנתב אותם אל העורף של הצבא הרומאי שכבר נכנס לכיתור.
ראוי לציין שמבחינת סד"כ, הצבא הקרתגני נהנה מעודף מספרי בתחום הפרשים (10,000 לעומת 4,000), בנוסף הפרשים שלו היו רב תכליתים, ולכן הייתה לו היכולת לשלב אותם בטקטיקה מורכבת, ולא רק לשלוח אותם לשדה הקרב ולקוות לטוב (שזה פחות או יותר מה שעשו הרומאים, ולא מעט צבאות אחרים שנלחמו בהסטוריה).
2. קרב הלוחמים (חי"ר) - כאן לחניבעל הייתה בעיה, הוא מלכתחילה סבל מנחיתות מספרית קשה מאוד מול הרומאים (הערכות מדברות על 40,000 קרתגנים מול 80,000 לגיונרים).
לכן הוא ידע שהוא חייב להגיע לקרב עם טקטיקה מהפכנית על מנת לנצח.
תוכנית הקרב של חניבעל הייתה שהצבא שלו ימוקם תחילה במערך רגיל ועם התקדמות הקרב יקבל צורה של חצי סהר, שתאפשר בסופו של דבר כיתור והשמדה.
לחניבעל היו בצבא קלטים ואיברים (חי"ר קל יחסית), ולובים (חי"ר כבד שהיה בנוי בעיקר מנשק ומיגון רומאי שנצבר במהלך הקמפיין), חניבעל דאג כבר בהתחלה למקם את הצבא שלו במרחק שלא יאפשר לגל הרומאי הראשון להשליך כידונים.
התוכנית של חניבעל הייתה למקום את הקלטים והאיברים מקדימה עם עיבוי אחורי של הלובים, ובקצוות הסהר למקם בעיקר את הלובים.
כאשר הלגיונרים הרומאים הלכו קדימה, הקלטים והאיבירים נסגו לאחור, וזה גרם לרומאים להבין שהם שברו את הקו (שזה פחות או יותר שחמט בלחימה), מה שגרם להם לרכז כוחות אדירים במרכז ולנוע קדימה, מה שהם לא הבינו זה שהקלטים והאיברים לא שברו את הקו, אלה רק גרמו למבנה של חצי סהר שדימה שבירת קו (תנסה לדמיין אגרוף שנכנס בכף יד ישרה, ואז כף היד כתוצאה מהאגרוף מתכופפת ועוטפת אותו, זה בדיוק מה שקרה).
לרוע מזלם של הרומאים, כאשר מבנה חצי סהר כבר הושלם, כל האגפים הרומאים בצדדים היו חשופים להתקפת נגד של הלובים הכבדים, הלובים כבר צמצמו את הטווח, ובגל ראשון של התקפה השליכו כידונים שגרמו להרוגים רבים בלגיון הרומאי, לאחר מכן הם החלו להילחם עם הרובים באגפים פנים מול פנים, בשלב הזה הרומאים לא הצליחו להבין איך ממצב של שבירת קו הם הגיעו למצב של לחימה בכל החזית ובאגפים והם נכנסו ללחץ, עיקר הצבא הרומאי לא יכול היה להילחם מכיוון שהוא היה מכותר, לאחר שצבא הפרשים של חניבעל הביס את הפרשים הרומאים והניס אותם משדה הקרב, הפרשים הצטרפו ללחימה העיקרית, והשלימו את הכיתור מאחור, ואז הקרב כבר הפסיק להיות קרב והפך להיות מרחץ דמים, לרומאים לא הייתה אפילו אפשרות לסגת, הם התחילו לעלות אחד על השני, ופשוט הושמדו.