Why did the Carthaginians lose the second Punic War in spite of their repeated success?

by Datapod2

From what I know Hannibal won many battles against great odds and nothing the Romans did could stop him, so what changed and how did it bring such a sudden end to the war?

cyclops1771

Hannibal wasn't really at great odds. He had many allies in Italy who, for one, wanted to "rebel" against their Roman overlords, which helped reduce the "odds." Polybius writes that it is better to have half the number of the infantry and a superiority in cavalry than to be even in both. Although Hannibal continued to rampage through the Italian peninsula and win battle after battle, he was never able to muster a force that could besiege or attack Rome directly.

The consul Scipio changed tactics and instead of meeting Hannibal in Italy, he sailed to Noth Africa outside Carthage and prepared to attack Carthage directly. The Carthaginian government recalled Hannibal back to Africa to save them. Scipio then took the Roman army to Carthage and defeated Hannibal on the plains of Zama.