The Romans adopted tactics that partially neutralised the vast superiority of Hannibal’s great military genius and of his cavalry. They also found in Scipio Africanus a general who was capable to match Hannibal’s military genius. After an unsuccessful campaign in Spain, Scipio Africanus started a second campaign there, defeated Carthage and won Spain for the Romans. He also defeated Hannibal in the final battle near Carthage. This was Hannibal’s first and only defeat. Rome’s victory was not due exclusively to her efforts. Failures in Hannibal tactics also contributed to his the failure of his campaign in Italy. The internal politics of Carthage was also a factor. These are the main factors in this was:
1) Hannibal tried to reach Italy form Spain as quickly as possible to catch the Romans by surprise. He did succeed in this. The astonishing speed of his advance threw the Romans off. However, he had to pay a big price for this. In his effort to cross the Alps in the winter, a feat that was not thought possible, he lost his siege machines, probably due to snow. Without these machines, he could not attack Rome. Because of this he went to southern Italy instead of advancing in Rome. He spent the rest of his campaign there and never got close to Rome.
2).The Romans’ Fabian strategy of attrition avoided battle due to Hannibal superiority and aimed a wearing him down through guerrilla tactics. This made the war drag on. It forced Hannibal to ravage the countryside in the areas where he went to feed his troop. This alienated the peoples of these areas. Over time it also created the need for reinforcements, which Hannibal never received.
3) The failure of gaining enough support form Rome’s allies in Italy. This was needed to increase the number of troops available to Hannibal, weaken Rome’s fighting strength, and provide further supplies of soldiers which became needed as the war dragged on. When Hannibal travelled to Italy he got support from the Gauls in northern Italy who rebelled, creating difficulties for the Romans. However, as Hannibal travelled south, the Gauls no longer provided support. Hannibal got some support from Roman allies in southern Italy after he was the battle of Cannae, but this was insufficient.
4) The interception and defeat of Hasdrubal’s army. Hasdrubal, Hannibal’s brother, gathered an army in Spain and crossed the Alps to bring reinforcements and the badly needed siege machines to Hannibal. While traveling to southern Italy to join Hannibal, his army was routed and he was killed (207 BC). Hannibal did not receive the new and fresh soldiers and the badly needed siege machines. This was the beginning of the end for Hannibal’s campaign in Italy. He became a spent force and withdrew to Calabria (the toe of Italy) because its mountainous territory was easy to defend. He spent the last four years of his campaign in Italy stuck there.
5) At this point Carthage did not support Hannibal. The peace party in that city gained the ascendancy and refused to send him reinforcements. Carthage’s economic interests in Spain were now considered more important than Hannibal’s campaign. Carthage’s wealth rested mainly on Spain, especially the Spanish silver mines, and she was now at risk of losing it to the Romans.
6) Scipio Africanus defeated the Carthaginians at the battle of Illipa in southern Spain (206 BC). Carthage lost her territories in Spain and with this the bulk of her manpower for her infantry (most Carthaginian infantrymen were Turdetani and Iberian allies from Spain) and the wealth of the silver mines. This was a big blow both to Carthage and to Hannibal, who could no longer hope for reinforcements from Spain.
After this, Scipio Africanus organised an expedition to Africa and Hannibal was recalled to Carthage to fight him. Scipio defeated Hannibal in the battle of Zama, which marked the final defeat of Carthage.