为了逐个击败这三支迦太基军队,公元前209年,西庇阿展开了他的第一次重大军事行动:他围攻了迦太基新城(Carthago Nova,现代的卡塔赫纳),这是一个重要的迦太基后勤中心,具有相当的战略意义。
在战斗中,他通过在潮退时派遣一支涉水部队穿过城北的泻湖来占领城市,他告诉士兵们,他曾有过一个异象,海神波塞冬(Neptune)承诺会给予支持。
这一所谓的异象促使围绕他和他家族迅速发展出一个西庇阿的传奇。
迅速攻占城市时,由于难以区分战斗人员和平民,西庇阿命令他的士兵屠杀所有遇到的人并掠夺任何建筑。
波利比乌斯认为这场屠杀的目的是为了恐吓西班牙人民,让他们迅速投降,并讲述了罗马人残忍到连狗和其他动物都被砍成两半的轶事。
随后,他迫使马戈在城堡投降,并迅速改变态度,饶恕剩余的市民,只将非公民奴役。
他还将三百名西班牙人质收押,给予他们礼物,保证他们及其家人的安全,并承诺如果他们各自的社区与罗马结盟,就可以获得自由。
战斗后,几支西班牙部落投向了罗马。
接下来的一年,公元前208年,西庇阿在贝提斯河(Baetis)北部与哈斯德鲁巴尔作战,靠近贝库拉(Baecula)。
虽然西庇阿获得了胜利,但战斗并未决定胜负,哈斯德鲁巴尔带着大部分军队北逃越过比利牛斯山前往意大利。
哈斯德鲁巴尔及其军队于公元前207年抵达意大利,最终在梅塔乌鲁斯战役(Battle of the Metaurus)中被击败,军队被摧毁,哈斯德鲁巴尔阵亡。
次年,哈斯德鲁巴尔被一名名叫汉诺(Hanno)的将领取代,他在塞尔蒂贝里亚(Celtiberia)被朱纽斯·西拉努斯俘获。
在哈斯德鲁巴尔(Gisgo之子)率领的军队撤退到加的斯(现代的卡迪斯)后,西庇阿的兄弟占领了奥龙吉斯(Orongis,现代的哈恩)并在公元前206年于伊利帕战役(Battle of Ilipa)中取得决定性胜利,迫使迦太基人撤出半岛。
在后续清剿行动中,西庇阿占领了伊洛尔吉亚(Ilourgeia)和卡斯图洛(Castulo),对前者进行了严厉惩罚,因为该地杀害了他的军队难民。
其他罗马指挥官在西班牙占领了其他城镇,包括阿斯塔帕(Astapa),其居民选择了集体自杀。
在关于西庇阿因病去世的虚假谣言传播后,西班牙部落爆发了一场迅速被镇压的叛乱,他越过海峡进入非洲,寻求西法克斯(Syphax)的支持,并继续前往西部西班牙与马西尼萨(Massinissa)会面,寻求同样的目的。
西法克斯表示效忠,但最终与迦太基人联手。
然而,当西法克斯将马西尼萨驱逐出马西利王国时,马西尼萨带着一小部分军队加入了罗马。
与此同时,加得斯向罗马投降。
公元前206年左右,西庇阿还创立了意大利卡(Italica,位于塞维利亚西北约9公里),这个地方后来成为了皇帝特拉扬(Trajan)、哈德良(Hadrian)和狄奥多西一世(Theodosius I)的出生地。
随着在半岛的普遍胜利,西庇阿返回罗马,竞选公元前205年的执政官,留下卢修斯·科尼利乌斯·伦图卢斯(Lucius Cornelius Lentulus)和卢修斯·曼利乌斯·阿基迪努斯(Lucius Manlius Acidinus)指挥。
他在年底回到罗马。
根据李维的记载,他未能获得凯旋庆祝,理由是他是个人身份——即没有担任过公职——且从未当选为拥有指挥权的公职。