Hannibal Barca did, after all, lose to Rome. He eventually lost in Zama — not in Italy, but near Carthage, in North Africa. Rome had more cavalry, and their eventual charge to Carthage’s rear ...