スキピオ・アフリカヌス
カルタゴはスキピオの登場によって劣勢に陥り、かつてハンニバルがイタリアで粉砕してきたローマ軍も、ヒスパニアでの戦闘を通じて質の高い軍勢へと変貌を遂げていた。この状況に動揺したカルタゴは外交交渉を試みながら、ハンニバルにカルタゴへの帰還を要請した。ハンニバルは数十年ぶりに母国カルタゴへ戻ることになる。ハンニバルの帰還で強気になったカルタゴはスキピオの提案した和平条件を拒否。外交交渉は頓挫した。
両軍はカルタゴとウティカとの中間地点であるザマで対峙した。両軍の構成は以下の通り。
ハンニバルの兵力 - 歩兵:58,000人、騎兵:6,000騎
スキピオの兵力 - 歩兵:34,000人、騎兵:8,700騎
紀元前202年10月9日、互いの軍が対峙する中でスキピオとハンニバルは会見し、交渉による解決を試みている。スキピオはハンニバルの能力を高く評価していたし、ハンニバルもスキピオの才能に一目置いていた。ハンニバルはこれ以上の無益な戦いをやめて休戦交渉に入ることを提案したが、スキピオはハンニバルのサグントゥム包囲がもともとの発端であったと主張、自身の和平条件を後退させることはないとし、交渉は決裂した。結局、両者は自陣へ戻って戦闘に備える。
騎兵で劣るハンニバルは、伝統的な重装歩兵を主体に厚く3列に陣を布き、前面に戦象を押し出す陣形を築いた。これに対してスキピオはマニプルスを主体とする小集団をチェック模様(クインカントゥス隊列)のように布陣、右翼にマシニッサ率いるヌミディア騎兵を配置した。
戦闘が始まるとまずハンニバルの戦象隊が突撃した。これに対して小集団の機動力を活かしたローマ軍は柔軟な回避行動をとり、重装歩兵の前列に配置してあった軽装歩兵の撹乱攻撃や投げ槍の攻撃によって戦象は隊列を乱して暴走、混乱に陥った。