Rome refuse de s'incliner. 23 légions nouvelles sont enrôlées avec même des esclaves affranchis pour l'occasion. Rome reprend l'offensive, notamment avec Claudius Marcellus à la tête des armées romaines qui remporte sur le général carthaginois les batailles de Nole en 216 et 215 av. J.-C. et s'empare de Syracuse après trois ans de siège, puis c'est au tour de Capoue de tomber en 211 av. J.-C. Ayant la maîtrise des mers, Rome envoie un corps expéditionnaire en Hispanie puis en Afrique sous la direction de Scipion l'Africain. Après la conquête de l'Hispanie, Scipion a finalement raison d'Hannibal en 202 av. J.-C. dans la plaine de Zama, ce qui met fin à la deuxième guerre punique. Les vaincus, qui perdent leurs possessions extérieures, doivent payer un énorme tribut à Rome qui devient la première puissance de la Méditerranée occidentale en 202 av. J.-C..