こうしてスキピオはヒスパニアでの戦争を有利に展開していったが、同時に元老院の戦略上の関心は遠いヒスパニアにではなく、イタリア本土で対峙しているハンニバルにあることも理解していた。本国からの増援は望めず、スキピオはヒスパニアの現地民からなる軍団を編成する。
アフリカ遠征への布石.
執政官に選出.
そこでスキピオは市民の中から義勇兵を募集し、シチリア島で兵の訓練に日を費やす。彼の呼びかけは全イタリアに届き、とくにカンナエの戦いで生き残った者たちが雪辱のために応募したという。
スキピオは若い頃に経験した敗戦を通じてハンニバルの用兵を目の当たりにしており、機動力に優れた騎兵の活用が鈍重な重装歩兵への攻撃に有効であることを理解していた。またカルタゴ軍の内情、すなわち傭兵に頼っており、騎兵兵力はヌミディア騎兵に頼っているという欠点を見抜いていた。さらにスキピオは自軍ローマの騎兵の質も理解していた。ローマ軍の騎兵戦力は現地の諸部族か上流階級のローマ人かのどちらかであり、諸部族は忠誠心の点で当てにならず、ローマ人騎兵はただ歩兵との違いを誇示したいがために馬に乗っているだけで実戦力として不安だという欠点がある。この状況の中でいかに精強な騎兵を錬成するかという課題があった。
ある逸話によると、スキピオが思いついた解決法のひとつに次のようなものがある。シチリア島の支配階級は古来外部からの支配を好まず（ローマに隷属したのも第一次ポエニ戦争以降のことである）、激しく抵抗していた。スキピオはそのプライドに目をつけ、彼らの中で馬と武具を支給できるものを騎兵に取立ててローマ軍の中に編入し、多数の騎兵を作り上げたという。
アフリカ遠征.
ザマの戦い.
カルタゴはスキピオの登場によって劣勢に陥り、かつてハンニバルがイタリアで粉砕してきたローマ軍も、ヒスパニアでの戦闘を通じて質の高い軍勢へと変貌を遂げていた。この状況に動揺したカルタゴは外交交渉を試みながら、ハンニバルにカルタゴへの帰還を要請した。ハンニバルは数十年ぶりに母国カルタゴへ戻ることになる。ハンニバルの帰還で強気になったカルタゴはスキピオの提案した和平条件を拒否。外交交渉は頓挫した。
両軍はカルタゴとウティカとの中間地点であるザマで対峙した。両軍の構成は以下の通り。