Samtidig foregikk det heftige kamper i sentrum, der de to sidenes infanteri sto mot hverandre. Ingen av partene fikk overtaket, men da Hannibal etterhvert satte inn sine veteraner fra felttoget i Italia som hittil hadde vært holdt i reserve, så situasjonen stygg ut for romerne. Heldigvis for Scipio vendte det romerske og numidiske kavaleriet tilbake til slagmarken, og da disse angrep karthagenerne i ryggen og på begge flanker brøt de karthagenske linjene sammen, og de ble slaktet ned i stort antall.