Hannibal ble kalt tilbake fra Italia og måtte etterlate seg de spanske og galliske kontingentene som utgjorde opp mot to tredjedeler av arméen hans. Etter at han hadde tapt Capua hadde han begynt å miste innflytelse, men han var fremdeles i stand til å bryte fredsforhandlingene. Scipio møtte ham ved Zama. Det er sagt at de to mennene møttes ansikt til ansikt før slaget. Hannibal minnet Scipio om den rollen skjebnens hadde spilt i krigen og om hvor mild Hannibal hadde vært mot Roma da byen stod på ødeleggelsens rand. Scipio svarte at sjansen spilte en rolle i hver avgjørelse hver dag og ville ikke gi fred uten slag. I det påfølgende slaget var infanteriene jevnbyrdige, og ingen av sidene var i stand til å utmanøvrere hverandre. Det numidiske kavaleriet jaget de kartagenske rytterne vekk fra slaget. Det er mulig at Hannibal ønsket at dette skulle skje for å utkjempe et rent infanterislag. Men numiderne forlot ikke slagmarken helt og klarte å angripe Hannibals infanteri bakfra. For denne seieren ble Scipio kjent som Scipio Africanus. Kartago ba umiddelbart om fred.