Hannibal got his army into Italy by taking the route Rome did not expect. In 218 BC he marched out of Spain, went through Gaul and over the Alps, bypassing the Roman and allied garrisons that guarded the usual ways in.
Over the mountains with elephants
Hannibal's crossing of the Alps took place in 218 BC. His army marched out of Iberia, through Gaul, across the Alps and into Cisalpine Gaul in northern Italy. He brought North African war elephants with him, which made the crossing famous.
The Trebia
On 22 or 23 December 218 BC, Hannibal fought the Romans under Sempronius Longus at the Trebia. It was the first major battle of the Second Punic War, and Hannibal won it.
Lake Trasimene
On 21 June 217 BC, at Lake Trasimene in central Italy, Hannibal ambushed a Roman army under Flaminius.
Cannae
On 2 August 216 BC, at Cannae in southern Italy, Hannibal surrounded and practically annihilated a larger Roman and Italian army. He used a double envelopment, and the battle is still studied today as an example of tactics.
The short answer
He struck where Rome did not expect him: overland, over the Alps, around the garrisons. Then he won three major battles in under two years.
The "surprise route" explanation is an interpretation drawn from the sources below.
