Battle of Zama. The Battle of Zama, fought around October 19, 202 BC, marked the final and decisive end of the Second Punic War. A Roman army led by Publius Cornelius Scipio Africanus defeated a Carthaginian force led by the commander Hannibal.