斯·科尔内利乌斯·西庇阿之子大西庇阿主动请缨要求指挥即将派往西班牙的新的罗马军队。大西庇阿趁着退潮之际攻占萨贡托城。
反攻迦太基城.从公元前212年起，主动权转到罗马人手中。他们採取积极的行动夺回原在意大利、西西里、伊利里亚和马其顿的失地。公元前209年，罗马人攻佔了迦太基人在伊比利亚的主要基地之一，新迦太基城。哈斯德鲁巴企图从伊比利亚驰援汉尼拔，但因在梅塔夫尔战役公元前207年中被击溃，而告失败。反罗马同盟因罗马人屡屡获胜而日趋瓦解。前204年，大西庇阿率罗马军队在迦太基附近登陆