Гасдрубал в первую очередь совершил карательную экспедицию против тех иберов, в борьбе с которыми пал Гамилькар, но чаще он старался действовать дипломатическими средствами, хотя порой прибегал и к насилию. Важным шагом в сплочении подчиненных народов вокруг карфагенского полководца стал его новый брак с дочерью местного царька (Diod. XXV, 12). Вскоре после этого Гасдрубал основал два города, один из. которых был назван Карфагеном (для отличия от столицы античные авторы называют его Новым Карфагеном, и под этим названием он вошел в историю).
В 226 или 225 г. до н. э. Гасдрубал заключил с Римом договор, согласно которому пределом карфагенских владений в Испании была признана река Ибер, которую карфагенский полководец обязался не переходить с военной целью (Polyb. II, 13, 7; Liv. XXI, 2, 7; Арр. Hisp. 7). Гасдрубал пошел на такое ограничение своей экспансии потому, что, во-первых, еще далеко не все земли южнее этой реки были покорены, а во-вторых, и это главное, чтобы обеспечить свой тыл от возможного римского вмешательства, планируя монархический переворот в Карфагене (Polyb. III, 6, 2–4). Правда, прибыв в Карфаген, Гасдрубал увидел, что положение там для него не столь благоприятное, как это казалось в Испании, и, встретив сопротивление ряда членов правительства, предпочел снова уехать на Пиренейский полуостров.
Вернувшись в Испанию, Гасдрубал стал управлять ею совершенно самовластно (Polyb. III, 8, 4). Положение в Испании тоже складывалось не совсем так, как ему хотелось бы. Он вызвал к себе Ганнибала, старшего сына Гамилькара, и поручил ему командовать войсками в случае необходимости. И все три года, что Ганнибал служил под его командованием, он активно воевал (Liv. XXI, 3–4; Арр. Hisp. 6). Явно одними дипломатическими средствами он не обходился, и недовольство Гасдрубалом стало проявляться у близкой к нему местной знати. Диодор (XXV, 12) намекает на некий заговор (неизвестно, был ли он раскрыт): по приказу карфагенского полководца был казнен некий знатный испанец, и в ответ на это раб казненного, мстя за своего господина, в 221 г. до н. э. убил Гасдрубала (Liv. XXI, 2, 6; Арр. Hisp. 7; Val. Max. III, 37).
Армия провозгласила своим командующим Ганнибала, и карфагенское правительство утвердило выбор войска (Polyb. III, 13, 3–4; Liv. XXI, 3, 1; Арр. Hisp. 8; Hannib. 3). Ганнибал подавил ряд восстаний и подчинил некоторые народы, а затем напал на город Сагунт, союзный с Римом, явно провоцируя новую войну. После упорных боев и восьмимесячной осады Сагунт был взят (Polyb. III, 20; Liv. XXI, 7–9; Арр. Hisp. 11–12; Nep. Han. 3). В ответ на это римляне потребовали от карфагенского правительства выдачи Ганнибала, а когда те отказались, объявили войну. Началась II Пуническая война.
В отличие от первой войны, вторая разворачивалась на нескольких фронтах: в Италии и Испании, Сицилии и Греции. Ганнибал с большей частью своей армии в самом начале войны перешел Пиренеи, а затем Альпы и вторгся непосредственно в Италию. Все попытки римских военачальников остановить его оказались неудачными. В 216 г. до н. э. около Канн Ганнибал наголову разгромил римское войско и поставил Рим на грань катастрофы. Для завершения удара он просил у правительства подкреплений. Но вместо отправки новой армии в Италию решено было послать на помощь Ганнибалу его брата Гасдрубала, командующего войсками в Испании, где тоже происходили военные действия. Римляне высадились на Пиренейском полуострове и блокировали действия карфагенян. В 215 г. до н. э. в битве на реке Ибер Гасдрубал попытался повторить маневр, принесший его брату блестящий успех при Каннах, но потерпел полное поражение. После победы при Каннах Ганнибалу удалось вовлечь в антиримскую коалицию Сиракузы и македонского царя Филиппа V, но римляне, действуя и дипломатией, и силой, сумели не допустить создания единого фронта. Филипп был поглощен балканскими делами, а Сиракузы после длительной осады в 212 г. до н. э. были взяты римлянами. В конце концов Ганнибал был «заперт» в Южной Италии и лишен оперативного простора. Гасдрубал попытался прийти к нему на помощь, повторив переход Ганнибала через Пиренеи и Альпы, но армия его была разгромлена, а он убит прежде, чем сумел соединиться с братом. В Испании после нескольких лет упорной борьбы римляне в 206 г. до н. э. подчинили себе Гадес, последний опорный пункт, еще остававшийся у карфагенян. В 204 г. до н. э. римская армия во главе с Публием Корнелием Сципионом высадилась в Африке. Ему удалось привлечь на свою сторону нумидийского царя Масиниссу, что дало римлянам преимущество в коннице. Карфагенское правительство отозвало из Италии Ганнибала. В 202 г. до н. э. около Замы произошла последняя битва этой войны. Дело решила нумидийская конница. Карфагеняне были разбиты, после чего всякое сопротивление стало бессмысленным.