La guerra se inició tras el asedio y conquista de Sagunto por parte de Aníbal, que supuso el casus belli que permitió a Roma declarar la guerra a Cartago. Aníbal consideraba que la superior capacidad de producción romana les daba ventaja en cualquier enfrentamiento prolongado, por lo que la guerra debía resolverse cuanto antes mejor. La única forma de lograrlo era llevando a su ejército a la península itálica y conquistar Roma, o en su defecto, causarles tantos destrozos como para obligar al Senado de Roma a pactar la rendición. Pero desde el final de la primera guerra púnica, el mar Mediterráneo estaba controlado casi completamente por la armada romana, de modo que el ejército no podía trasladarse por mar. Así que Aníbal, para sorpresa de propios y extraños, decidió llevar al ejército por tierra, cruzando los Alpes. El paso de los Alpes en invierno por el ejército de Aníbal fue considerado en su día una hazaña militar sobresaliente, a pesar de que hoy en día se duda si el factor sorpresa fue suficientemente valioso debido a todas las bajas que sufrió mientras lo cruzaba, perdiendo a casi todos sus elefantes.