De Tweede Punische Oorlog (219-201 v.Chr.) veranderde veel voor de regio. Deze oorlog begon er zelfs: Hannibal viel de vestingstad Saguntum aan, die Romeins-gezind was terwijl het in de Carthaagse invloedssfeer lag. De Romeinen reageerden met een tegenaanval: heel Hispania stond op het spel, en bij nader inzien zelfs hun eigen voortbestaan. De Carthagers vielen onder Hannibal via Hispania, Gallië en de Alpen het noorden van Italië binnen. Vandaar ging het verder naar het zuiden, waar zij de Romeinen een hele tijd het leven zuur maakten. Ondertussen probeerden de Romeinen Hannibal reeds vanaf (218 v.Chr., Slag bij Cissa), van zijn uitvalbasis te isoleren door op te marcheren in Hispania. Rond 210 v.Chr. hadden zij tal van Carthaagse gebieden in Tarraconensis veroverd en waren tot in Baetica opgemarcheerd. De campagne verliep verder voorspoedig: onder leiding van Scipio Africanus kwam het leger vanuit Ostia in 210 in Tarraco, de hoofdstad van het Romeinse Tarraconensis, aan en trok naar het zuiden. Hannibal zat vast in Zuid-Italië en vele steden vielen zonder slag of stoot (o.a. Carthago Nova). In 208 stootte Scipio op een Carthaags leger in Baecula, dat meer landinwaarts lag, maar versloeg het. Twee jaar later, in 206, gebeurde dat opnieuw, ditmaal in Ilipa. Vandaar uit kon Scipio Gades innemen; de Carthaagse koloniën in Hispania waren Romeins bezit geworden: Hispania Citerior. Deze provincie omvatte slechts de kuststreek; de binnenlanden, waaronder bv. Numantia, waarvan sommige door de Carthagers waren onderworpen, werden of bleven autonoom.