Marchant sur Rome, Hannibal (Victor Mature) traverse les Alpes avec ses troupes et de nombreux éléphants. La traversée est difficile, beaucoup d'hommes meurent en cours de route, mais ils parviennent à passer la chaîne de montagnes, grâce au fait qu'Hannibal ait fait allégeance à un chef local. Arrivées en territoire romain, les troupes carthaginoises capturent Sylvia, fille de sénateur romain Fabius Maximus, et Hannibal s'en éprend. Certains de ses hommes s'y opposent et se mesurent à Hannibal qui perd un œil dans une confrontation. Malgré les avertissements de Fabius qui suggère d'éviter une attaque frontale et de mener une campagne d'épuisement, la décision est prise de lutter contre Hannibal sur le champ de bataille. Mais cela se solde par la lourde défaite romaine lors de la bataille de Cannes. Fabius est alors rappelé pour diriger l'armée romaine et l'élan de la campagne d'Hannibal commence à décliner. Sa femme et ses enfants arrivent de Carthage, tandis que Sylvia retourne à Rome.