La deuxième guerre punique, qui dura de 218 à 201 av. J.-C., fut la deuxième des trois guerres menées entre Carthage et Rome, les deux principales puissances de la Méditerranée occidentale au IIIe siècle av. Pendant dix-sept ans, les deux États ont lutté pour la suprématie, principalement en Italie et dans la péninsule ibérique, mais aussi sur les îles de Sicile et de Sardaigne et, vers la fin de la guerre, en Afrique du Nord. Après d'immenses pertes matérielles et humaines de part et d'autre, les Carthaginois sont vaincus. La Macédoine, Syracuse et plusieurs royaumes numides furent entraînés dans les combats ; et les forces ibériques et gauloises combattirent des deux côtés. Il y avait trois principaux théâtres militaires pendant la guerre : l'Italie, où le général carthaginois Hannibal a vaincu à plusieurs reprises les légions romaines, avec des campagnes subsidiaires occasionnelles en Sicile, en Sardaigne et en Grèce ; Iberia, où Hasdrubal, un frère cadet d'Hannibal, a défendu les villes coloniales carthaginoises avec un succès mitigé jusqu'à son déménagement en Italie; et l'Afrique, où la guerre a été décidée. La guerre était la plus proche depuis le sac de Rome par Brennus en 390 avant JC que l'État romain est venu à la destruction, et il ne serait plus menacé de destruction avant le 5ème siècle.
En 219 avant JC, Hannibal assiégea, captura et pilla la ville pro-romaine de Sagonte, provoquant une déclaration de guerre romaine contre Carthage au printemps 218 avant JC. Cette année-là, Hannibal a surpris les Romains en faisant marcher son armée par voie terrestre depuis la péninsule ibérique, à travers la Gaule et les Alpes jusqu'à la Gaule cisalpine (l'Italie du Nord moderne). Renforcé par des alliés gaulois, il obtient des victoires écrasantes sur les Romains aux batailles de Trebia (218) et du lac Trasimène (217). Se déplaçant dans le sud de l'Italie en 216, Hannibal a de nouveau vaincu les Romains à la bataille de Cannae, où il a anéanti la plus grande armée que les Romains aient jamais réunie.
Après la mort ou la capture de plus de 120 000 soldats romains en moins de deux ans, de nombreux alliés italiens de Rome, notamment Capoue, ont fait défection à Carthage, donnant aux alliés d'Hannibal le contrôle d'une grande partie du sud de l'Italie. Alors que Syracuse et la Macédoine rejoignaient la partie carthaginoise après Cannae, le conflit s'étendit. Entre 215 et 210 avant JC, les Carthaginois ont tenté de capturer la Sicile et la Sardaigne tenues par les Romains, mais sans succès.
Les Romains ont pris des mesures drastiques pour lever de nouvelles légions, enrôlant des esclaves, des criminels et ceux qui ne remplissaient pas la qualification de propriété habituelle et augmentant ainsi considérablement le nombre d'hommes qu'ils avaient sous les armes. Au cours de la décennie suivante, la guerre dans le sud de l'Italie s'est poursuivie, les armées romaines reprenant lentement la majeure partie de l'intérieur du nord-est de la péninsule ibérique et les Carthaginois ont tenté à plusieurs reprises de le réduire.
En 211 avant JC, les Romains ont pris l'offensive en Ibérie et ont été vaincus de manière décisive, tout en maintenant leur emprise sur le nord-est. En 209 av. J.-C., le nouveau commandant romain Publius Scipio captura Carthago Nova, la principale base carthaginoise de la péninsule. En 208 avant JC, Scipion a vaincu Hasdrubal, bien que Hasdrubal ait pu déplacer la plupart de ses troupes en Gaule puis dans le nord de l'Italie au printemps 207 avant JC. Cette nouvelle invasion carthaginoise a été vaincue à la bataille du Metaurus.
Lors de la bataille d'Ilipa en 206, Scipion mit définitivement fin à la présence carthaginoise en Ibérie. Scipion envahit alors l'Afrique carthaginoise en 204, obligeant le Sénat carthaginois à rappeler l'armée d'Hannibal d'Italie. L'engagement final de la guerre a eu lieu entre les armées sous Scipion et Hannibal à la bataille de Zama en 202 et a abouti à la défaite d'Hannibal et à Carthage poursuivant pour la paix.
Le traité de paix imposé aux Carthaginois les dépouille de tous leurs territoires d'outre-mer, et de certains de leurs territoires africains. Une indemnité de 10 000 talents d'argent devait être payée sur 50 ans. Il était interdit à Carthage de faire la guerre en dehors de l'Afrique, et en Afrique uniquement avec l'autorisation expresse de Rome. De nombreux Carthaginois seniors voulaient le rejeter, mais Hannibal s'est prononcé fortement en sa faveur et il a été accepté au printemps 201 av. Désormais, il était clair que Carthage était politiquement subordonnée à Rome. Scipion a reçu un triomphe et a reçu l'agnomen "Africanus". En raison des termes sévères du traité de paix imposé à Carthage, le terme «paix carthaginoise» a été inventé au XXe siècle pour décrire tout traité de paix avec des termes conçus pour paralyser définitivement le côté perdant d'une guerre.