Karthago var nå forlatt av sine allierte og var omringet av en erfaren og ubeseiret romersk armé som Dodge hevder var den beste som noen gang var satt ut i felten. Karthago begynte å åpne diplomatiske forbindelser for å forhandle. Det var her det utenkelige skjedde. Hannibal reiste tilbake til Karthago. Til tross for Scipios moderate krav som ble tilbudt Karthago, stoppet Karthago plutselig forhandlingene og forberedte seg igjen for krig. Det var et tydelig tegn på lederskapet til Hannibal at stemningen i Karthago plutselig forandret seg. Hæren som Hannibal kom tilbake med er gjenstand for mye debatt. Hannibals forsvarere hevder ofte at hans armé var hovedsakelig italienere fra det sørlige Italia som var blitt tvunget i tjeneste, og at mesteparten av hans erfarne elitestyrker (og helt sikkert kavaleriet) var oppbrukt. Scipios advokater har en tendens til å være mer mistenksomme og antar at antallet veteranstyrker fremdeles var betydelig. Hannibal hadde en trent styrke av soldater som hadde kjempet i Italia, i tillegg til et knusende våpen: 80 krigselefanter. Hannibal hadde en styrke på 58 000 infanterister og 6000 kavalerister. Scipio hadde 34 000 infanterister og 8700 kavalerister. De to generalene møttes på en slette mellom Karthago og Utica for alltid kjent som Zama den 19. oktober 202 f.Kr. Til tross for gjensidig anerkjennelse, strandet forhandlinger på romerske anklager om «punisk skjebne», en henvisning til bruddet på protokol som endte den første punerkrigen med det karthagenske angrepet på Sagentum, i tillegg til oppfattede brudd i samtidig militær etikette (Hannibals tallrike bakholdsangrep).