Which Roman general defeated Hannibal at the Battle of Zama in 202 BCE?
Answer
Scipio Africanus
Answer
Scipio Africanus
Scipio Africanus defeated Hannibal at the Battle of Zama in 202 BCE.
The battle in North Africa ended the Second Punic War, the long conflict between Rome and Carthage. Scipio, then known as Publius Cornelius Scipio, had taken the war to Africa after campaigning successfully in Iberia. His invasion forced Hannibal to leave Italy and return to defend Carthage.
At Zama, Scipio’s army used gaps between its infantry lines to let Hannibal’s war elephants pass without breaking the formation. Roman and allied cavalry later returned from pursuing the Carthaginian horsemen and attacked Hannibal’s army from behind. The resulting defeat forced Carthage to accept severe peace terms.
Scipio received the honorary name Africanus because of his victories in Africa. Zama is often described as the decisive Roman victory over Hannibal, although the exact site of the battle remains uncertain. The defeat ended Carthage’s ability to challenge Rome for control of the western Mediterranean.
Source: Wikipedia · fact-checked Sept. 2026