第二次ポエニ戦争
第一次ポエニ戦争の結果、カルタゴはシチリア島をローマに割譲し、地中海における海上覇権を大きく減退させた。カルタゴはこの損失を補うため、ヒスパニア(イベリア半島)の征服に取り掛かった。ハミルカル・バルカによってヒスパニアの征服と植民地化が開始され、彼の死後は娘婿のハスドルバルが事業を継続した。紀元前226年、ハスドルバルはローマとの間にエブロ川以北には進出しない旨の誓約を交わした。
紀元前221年、ハスドルバルが暗殺されると、ハミルカル・バルカの息子ハンニバルが後継者となった。ローマの伝記作者に拠れば、ハンニバルは幼い頃からローマに対する憎悪を教え込まれ、攻撃の機会を狙っていたという。紀元前219年、ハンニバルはサグントゥムを攻撃した。サグントゥムはエブロ川以南の都市であったが、ローマとの同盟を結んでいたため、ローマは攻撃停止を求める使節団をカルタゴに派遣した。しかし、両者が交渉をしている間にサグントゥム陥落の一報が到着、クィントゥス・ファビウス・マクシムスは使節団を代表して宣戦を布告した。
ローマに帰国したスキピオは英雄として称えられた。スキピオは執政官に必要な年齢に達していなかったが、特例として紀元前205年の執政官に選出された。カルタゴとの戦争に決着をつけるため、スキピオは敵本土への直接攻撃を訴えたが、元老院はこれに難色を示した。ファビウスや大カトが反対派の急先鋒となり、結局元老院はこの提案を退けた。スキピオはシチリアに派遣され、その地で軍隊を徴募した。翌紀元前204年、スキピオはプロコンスル(前執政官)として軍団を率い、北アフリカのウティカへ上陸した。
カルタゴ軍はヌミディア軍と協同して迎撃に向かったが、スキピオはこれを一蹴した(ウティカの戦い)。余勢を駆ったスキピオはヌミディアへ侵攻し、バグラデス川の戦いでの大勝の後にヌミディア王シュファクスを捕縛(キルタの戦い)、自身の保護下にあったヌミディアの王子マシニッサを王に即位させてアフリカにおける同盟国を得た。しかもそれは同時に屈強な騎兵をカルタゴから奪い取ることでもあった。カルタゴはイタリア半島のハンニバルを呼び戻して戦力を再編する一方で、ローマに休戦を打診した。ローマの元老院は申し出を了承したが、不測の事態が起きて交渉は決裂した。カルタゴはハンニバルに約50,000名の兵と80頭の戦象を率いさせて派遣し、スキピオも約40,000名の兵を率いてヌミディアからカルタゴへ兵を返した。紀元前202年10月19日、両軍はザマの西方で対峙した。
ハンニバルは最初に戦象を突撃させたが、スキピオはこれを予測して部隊を配置していたため、突撃はほとんど威力を発揮しなかった。カルタゴ軍はローマ兵に包囲された。歩兵のおよそ半数が降伏し、降伏を拒否した者は殺戮された(ザマの戦い)。