Римляне быстро разделались с карфагенским подкреплением из Африки, в 208 году Сципион встретился с ним около Илипы (близ нынешней Севильи). Уступая противнику в численности, Сципион решил применить окружение, которое использовал Ганнибал при Каннах. Прошло несколько дней, и каждое утро армии обоих противников выстраивались в боевой порядок, но не начинали сражения. Каждый раз Сципион располагал своих наиболее искусных легионеров в центре, а более слабых иберийцев — на флангах, против иберийцев, выступавших за карфагенян. И однажды он очередной раз вывел свои войска из лагеря, но на этот раз иберийцы оказались в центре, а римская пехота — на флангах (и конница — на дальних флангах). Скорее всего, он хотел, чтобы этот маневр охвата с фланга совершила более организованная, обученная и дисциплинированная часть войска.
Карфагенский военачальник (он также носил имя Гасдрубал, что может ввести в заблуждение) действовал по обыкновению и не сразу заметил изменение в боевом порядке Сципиона. Когда он обнаружил его, то что-то менять было уже слишком поздно. На этот раз римский командующий вступил в сражение. Его конница и легионы отошли влево и вправо и перестроились в колонну, а затем охватили фланги карфагенян. Тем временем римская конница отогнала карфагенскую конницу, а легионы снова перестроились из колонны в линию и напали на карфагенских иберийцев на флангах, которые дрогнули и побежали. Легионы продолжали окружать с флангов карфагенский центр, пока тот пытался отразить фронтальную атаку иберийской пехоты Сципиона. Вскоре карфагенская армия превратилась в беспорядочно разбегающуюся толпу.
Теперь вся Испания принадлежала Риму. Задача Сципиона была решена, и он отправился по морю на родину. Сражение при Илипе показало, что он обладал тремя качествами великого полководца: нестандартным мышлением, стремлением к основательной подготовке и приверженностью к напряженной боевой выучке. Наконец в Риме появился достойный соперник Ганнибала.
Гасдрубал быстро укрепил свои войска в Италии, куда он прибыл в 207 году. Он взял на службу галлов, живущих в долине По, в результате чего численность его армии достигла почти тридцати тысяч человек. Он отправил на юг шесть всадников с письмом к своему брату, где сообщалось, что две карфагенские армии должны встретиться в Умбрии. Посланники сбились с пути и оказались в руках отряда римлян, который собирал продовольствие в окрестностях Тарента. Прочитав письмо, консул, следящий за Ганнибалом, скрытно от карфагенян отделил часть своей армии. Он отправился на север для соединения со вторым консулом, который встретился с Гасдрубалом у реки Метавр (ныне Метауро в области Марка). Консул прибыл ночью незамеченный противником, однако на следующий день Гасдрубал почувствовал какие-то изменения. Как написал Ливий: «А враги уже стояли перед своим лагерем, готовые к бою. Но битва не начиналась — Гасдрубал с несколькими всадниками выехал к передовым постам; он заметил в войске врага старые щиты, каких раньше не видел, как и отощавших коней; само войско выглядело многочисленнее обычного. Догадываясь, в чем дело, он поспешил дать отбой».
Опасения Гасдрубала подтвердились числом церемониальных консульских сигналов трубы. Когда ему сказали, что утром слышали два сигнала, а не один, то он понял, что в лагере находятся оба консула. Он верно предположил, что один из консулов тайно прибыл сюда с юга вместе со своей армией. Гасдрубал очень беспокоился о брате, считая, что тот мог потерпеть поражение и погибнуть.
Теперь, когда противник превосходил его по численности, у карфагенского командующего не осталось выбора, кроме как отступить. Это для него было лучше всего. С наступлением темноты он ушел и приказал, чтобы воины собирали свое имущество очень тихо. Проводники Гасдрубала бежали, и вскоре армия сбилась с дороги. Римляне нагнали ее и в следующем сражении разбили карфагенян. Гасдрубал храбро сражался и, как написал Ливий, не хотел пережить уничтожение своей армии. Он пришпорил коня и поскакал в самый центр вражеской когорты. Полибий отдал ему щедрую дань уважения: «Если же судьба отнимала всякую надежду на лучшее будущее и вынуждала его идти в последний бой, Гасдрубал в предварительных действиях и в самой битве не оставлял без внимания ничего, что могло бы доставить ему победу, вместе с тем и в такой же мере он думал и о возможности поражения, чтобы в этом случае не склониться перед обстоятельствами и не дозволить себе чего-либо, недостойного прежней жизни».
Голову Гасдрубала мумифицировали и отвезли на юг. Там ее бросили перед одним из военных постов Ганнибала. Римляне освободили двух карфагенских пленных и отправили их к Ганнибалу, чтобы рассказать обо всем том, что произошло. Рассказывают, что он в отчаянии воскликнул: «Узнаю злой рок Карфагена».