公元前205年,西庇阿在热烈的支持下被全体一致选为执政官。
此时他31岁!
依然在技术上被认为是过于年轻,不能担任执政官。
当他就职时,他要求元老院将非洲省分配给他,并威胁如果拒绝将把此事提交公民大会。
尽管元老院首席元老昆图斯·法比乌斯·马克西穆斯·维鲁库苏斯(Quintus Fabius Maximus Verrucosus)强烈反对,元老院最终屈服于他的压力,允许他接管西西里,并允许他如愿以偿地进入非洲。
法比乌斯的反对可能与对西庇阿人气的嫉妒有关,但也可能受到公元前255年在第一次布匿战争期间,由马库斯·阿提利乌斯·雷古卢斯(Marcus Atilius Regulus)指挥的失败非洲战役的影响,该战役使迦太基的战争努力得以重启。
尽管如此,元老院并未给西庇阿额外的士兵,这使他不得不招募志愿军。
李维(Livy)报告说,他从在意大利的客户和支持者那里集结了大约30艘战舰和7000名士兵。
他在西西里的执政期间大部分时间都在为入侵非洲准备军队。
今年,他占领了意大利脚部的洛克里(Locri),并留下一名普莱米纽斯(Pleminius)负责指挥。
在普莱米纽斯接管后,他掠夺了城市的神庙,还折磨并杀害了两名军事看守。
由于这些罪行,元老院将普莱米纽斯逮捕。
西庇阿也受到牵连,但在次年洗清了嫌疑。
---
他的执政权在公元前205年延续到这一年,他与部队跨入非洲,围攻乌提卡(Utica),然后在冬季假装与迦太基人进行谈判。
在这些假装的谈判中,西庇阿绘制了敌方营地的地图,并发动了一次成功的夜袭,摧毁了敌营,杀死了大量敌军。
随后,军队在新年的早些时候进行了“大平原战役”(Battle of the Great Plains),他的执政权在战争结束前被延续。
在捕获努米底亚的西法克斯(Syphax)后,西庇阿恢复了马西尼萨(Massinissa)对王国的统治。
迦太基人对这次失败的反应是召唤汉尼拔和马戈从意大利返回,并向西庇阿的舰队发起进攻,以切断他们的补给线。
西庇阿被迫在乌提卡附近进行海战,但成功避免了灾难,仅损失了约六十艘运输船。
随后进行了另一轮和平谈判,迦太基人最终同意放弃在地中海及其他地区的所有领土要求,限制在非洲的扩张权利,承认马西尼萨的王国,放弃除二十艘以外的所有战舰,并支付战争赔偿。
然而,在谈判期间,迦太基人因饥饿袭击了一支罗马粮食车队,导致抗议和使节的交换。
在进一步试图将他从指挥位置上移除的过程中——公元前203年的一位执政官格涅乌斯·塞尔维利乌斯·凯皮奥(Gnaeus Servilius Caepio)试图取代西庇阿,以声称自己为对迦太基的最后一击立功。
公元前202年的执政官们出于同样的原因渴望获得非洲指挥权——西庇阿在公元前202年的与汉尼拔的谈判中拒绝了和平条款。
在马西尼萨的努米底亚骑兵的支持下,随后进行了扎马战役(Battle of Zama),罗马军队获胜,迦太基再次请求和平。
在新的一年,公元前201年,西庇阿留在非洲以完成谈判,谈判结果是迦太基的领土维持在战前状态,迦太基需要将所有被掳物资和人质归还给罗马,除了十艘三桅战舰外,所有迦太基舰艇需解除武装,并且迦太基在进行任何战争前需要请求罗马的许可。