Majd felkerekedik, és a part mentén lassú menetben levonul Itália déli részébe, hogy döntő csatát vívjon. Apuba tágas mezei erre különösen alkalmasnak tűnnek, mivel lehetőséget adnak számára, hogy érvényesítse lovasságának teljes fölényét. Hannibál serege nem különösebben nagy, mintegy negyvenezer gyalogosból áll és összetételére nézve is heterogén, hiszen líbiaik, numídiaiak és punok vállvetve harcolnak az ibérekkel, baléáriakkal, keltákkal, liguriaiakkal, italfikuszokkal és görögökkel, de tízezer lovasa az egyik legjobb lovas hadsereg, melyet a világ valaha látott. Abban a reményben, hogy a rómaiak elvállalják a csatát, Hannibál Cannae mellett az Aufidus folyócska jobb partján tábort üt.
A római szenátus szintén úgy véli, hogy immár döntő csata szükséges Hannibál győzelmi sorozatának megállításához. A római sereget a két újonnan választott konzul, Lucius Emilius Paullus és Gaius Terentius Varro vezeti. A Kr. e. 216. év nyarának elején mindketten a római sereggel tartanak, mely Apuliába vonul. A seregben csak hatezer lovas van, de 80 ezer gyalogos, fele római legionárius, másik fele szövetséges. A sorozások révén a haderő szokásos létszámának duplájára emelkedett. Ez a legnagyobb sereg, melyet Róma mindaddig kiállított, de tisztán milícia jellegű, melyet csak háború idején állítanak fel.
A római vezetés bízik a római gyalogság tömegében és ütőerejében. Meggyőződésük, hogy a légióknak sikerül majd egyszerűen legázolni a számszerűen jelentős hátrányban lévő ellenfelet. Hatalmas tévedés s az együgyűségig téves helyzetmegítélés, mint ahogy az események menete mutatja. A római hadvezérek és katonák remélik, hogy jelentős győzelmet arathatnak a karthágói behatolók felett. Reményük abból is táplálkozik, hogy hitük szerint az eddigi vereségek révén pontosan megismerték az ellenséget és hadműveleti módszereit. További tévedés. Hannibál meglepetésre készül, és zseniális haditervet készít a csata megvívására.
Három nappal a csata előtt a rómaiak tábort ütnek az Afidus nyugati partján, mely ebben az évszakban igen sekély. Csapataik egyharmada a túlsó keleti parton táborozik, hogy biztosítsa a nagyobb tábor ellátását és sakkban tartsa Hannibált, aki szintén a keleti parton ütött tábort. Azonban ő még aznap áttelepíti táborát a folyó nyugati partjára. Másnap csapatait hadrendbe állítja, a rómaiak azonban nem veszik föl a kesztyűt. Hannibál erre kibontakoztatja numidiai lovasait akik a kisebb római tábort elvágják a víztől. A rómaiaknak immár cselekedniük kell.
A régi római naptár szerint a dátum 216. augusztus 2. E napon Varro a főparancsnok. Napkeltekor mindkét táborból felvonultatja csapatait, és arccal dél felé hadrendbe állítja őket. Jobbszárnyán a folyóparton áll a római lovasság, Paullus konzul parancsnoksága alatt. A balszárnyat Varro vezetésével a szövetségesek képezik. Köztük helyezkedik el a gyalogság, egyenes vonalban, az előző év konzulja, Servilius Geminus parancsnoksága alatt.
Varro a legionáriusok hadrendjét mélyebben lépcsőzi mint máskor, úgy hogy az arcvonal szélessége sokkal kisebb, mint a mélysége. Úgy véli, ezáltal a hadrend közepén jobban feltartóztathatja majd az ellenség lökéseit és megakadályozhatja az áttörést. Súlyos tévedés, komoly stratégiai hiba, mely szinte bűnös mértékben korlátozza a gyalogság mozgékonyságát. A szokatlan mélységi tagozás azt is meggátolja, hogy a harccselekményekben a lehető legtöbb katona részt vegyen. A légiók előtt a könnyű fegyverzetűek képeznek egy vékony vonalat.
Mikor Hannibál felismeri, hogy a rómaiak ebben a helyzetben kínálják fel neki a csatát, egész haderejével átkel a folyón, hogy azt a római arcvonaltól délre és Cannae-tól keletre állásba vigye. Balszárnyán, közvetlenül a folyó mellett, szemben a római lovassággal, ibériai és kelta lovassága áll fel Hasdrubal parancsnoksága alatt, jobbszárnyon pedig numidiai lovasai, akiket Hanno vezet. A hadrend közepére a nehéz fegyverzetű gyalogságot, a líbiaiakat, az ibériaiakat és a keltákat állítja. Itt maga Hannibál és testvére, Mago parancsnokol. És most jön a terv rendkívüli vonása.
A hadrend centrumában a középső alegységek kissé előrenyomulnak, és a továbbiak jobbra-balra lépcsőzve felzárkóznak úgy, hogy félhold képződik. A római hadrend első vonalának könnyű fegyverzetű gyalogosai lövedékek záporával nyitják meg a csatát. Ezt Hannibál balszárnya kelta és ibér lovasainak rohama követi. Ők ütköznek meg a római lovassággal, melynek vezetői tévedésben vannak. Azt hiszik, hogy a harc a megszokott séma szerint zajlik majd, rohammal, fordulással és az ezt követő újabb rohammal. De meglepetésükre Hasdrubal lovasai ezúttal egész másként küzdenek. Az első támadás során lerántják a rómaiakat a lovukról, és gyalogszerrel, ember ember ellen vívnak meg velük. Ily módon jobban érvényesül számbeli fölényük. A mindössze fele olyan erős római lovasság teljesen megsemmisül.
Azonban a centrumban a római legionáriusok előretörnek. Hannibál csapatai súlyos veszteségeket szenvednek, visszavonulnak úgy, hogy az íves félhold forma eltűnik. A rómaiak azt hiszik, közel a győzelem. Üldözik a rendezetten és fegyelmezetten visszavonuló karthágói zömöt. További tévedés, mely eldönti a csatát. Hiszen a római gyalogság halálos csapdába fut, melyet Hannibál állított fel. A szorosan és mélyen lépcsőzött római alegységek fékevesztetten rohamoznak, s immár ők képeznek egy félholdat. Ebben a pillanatban a középtől jobbra és balra líbiai katonák vonulnak, és átkarolják a római légiókat. Ez megállítja a római előrenyomulást, hiszen a legionáriusoknak ki kell védeniük a szárnyaik ellen indított támadást, mely teljes bekerítéssel fenyeget.
A rómaiak balszárnyán a szövetséges lovasság kivédte a numidiai lovasrohamokat. Itt a csata döntetlenre áll. Hasdrubal azonban, miután legyőzte a rómaiak jobbszárnyát, átvonul a hadrend másik szárnyára, és a numidiak segítségére siet. A római lovasság menekülésbe kezd, a numidiak üldözik őket. Hasdrubal lovasaival újra tovább vonul, vissza a centrumba, és több oldalon hátba támadja a római légiókat. Ennek során elesik Emilius Paulus konzul, Varronak egy gyors lovon sikerül elmenekülnie. Nem sokkal korábban a szenátusban még pimasz beszédeiben azt ígérte, hogy alkalmatlan elődeivel ellentétben a háborút az ellenséggel vívott első csata napján eldönti majd. Most bekövetkezett a katasztrófa - és Terentius Varro, aki alkalmatlannak bizonyult, egyedül viseli a felelősséget. „Elviselte, hogy életben maradt” - írja találóan Theodor Mommsen.
A rómaiak veresége teljes. Csapataikat teljesen katlanba zárták és megsemmisítették, csak nagyon kevesen tudtak elmenekülni. Hannibál ragyogó győzelmének mértéke még ma is lenyűgöző. Theodor Mommsen így ír:
„Ekkora sereget talán soha nem semmisítettek meg ily tökéletesen és ily alacsony saját veszteség árán csatamezőn, mint a rómaiakét Cannae-nál. Hannibál vesztesége alig éri el a hatezer főt, melynek kétharmadát azok a kelták teszik ki, akiket a légiók első rohama ért.”
Ezzel szemben abból a hetvenhatezer rómaiból, akik harcvonalban álltak, hetvenezer a csatamezőn marad. E példa nélküli győzelemben döntő szerepet játszottak a katasztrofális tévedések és hibák. Cannae ennek ellenére nem lett döntő csata. Hannibál ugyanis lehengerlő diadalát követően nem él az alkalommal. Nem használja ki a győzelmet, nem vonul Róma ellen. Így történhetett, hogy a csatát ugyan megnyerte - a háborút pedig elveszítette.
Otto Hans Dieter