乾いたアフリカの大地に、80頭もの戦象が並ぶ。その背後に、15年以上イタリアを荒らしてきた古参兵たちが無言で立っている。向かい合うローマ軍の列には、奇妙なすき間が縦にいくつも開いていた。角笛が鳴り、象が地響きを立てて突進してくる。その瞬間、ローマ兵が一斉にラッパを吹き鳴らし、盾を打ち鳴らす。轟音に怯えた象は、開けられたすき間の通路へ吸い込まれるように走り抜け、あるいは向きを変えて味方の騎兵へ突っ込んでいく。ハンニバルとスキピオ、宿命の対決が、いま始まった。

I背景――ハンニバルを学んだ男
カンナエの生還者スキピオは、父と伯父をスペインでの戦いで失っていた。前210年、20代半ばの若さでスペイン方面の指揮官に選ばれると、敵の拠点カルタゴ・ノウァを奇襲で落とし、スペインからカルタゴ勢力を一掃した。
彼の発想は大胆だった。イタリアでハンニバルを追い回すのではなく、敵の本国アフリカを直接突く。前204年、スキピオはアフリカに上陸した。本国の危機にカルタゴはついにハンニバルを呼び戻す。こうして、イタリアに16年近く居座った名将はアフリカへと帰っていった。
II決戦前の会見
ポリュビオスやリウィウスによれば、戦いの前日、両将は通訳だけを連れて両軍のあいだで会見したという。ハンニバルは運命の移ろいやすさを説いて和平を持ちかけたが、スキピオはカルタゴが以前の休戦を破ったことを責め、申し出を退けたと伝えられる。
ハンニバルの軍は約4万と戦象80頭。だがその多くは急ごしらえの新兵や傭兵だった。スキピオの軍は約3万5000とも言われ、何より強力な味方がいた。かつてカルタゴ側だったヌミディア(現在のアルジェリア付近)の王子マシニッサと、その騎兵である。
III運命の日
スキピオは、歩兵の小部隊を通常のように互い違いにせず、縦にまっすぐ並べ、象が通り抜けられる通路をつくった。ラッパの轟音に驚いた象は通路を抜けて後方へ走り去るか、反転してカルタゴ側の騎兵を乱した。その混乱を突いて、ローマとヌミディアの騎兵が敵の騎兵を戦場の外へ追い払った。
歩兵同士の戦いは激烈を極めた。ハンニバルは最も信頼する古参兵を第三列に温存していた。カンナエの勝者は最後まで粘り、勝負の行方は一時わからなくなった。両軍の兵は屍を踏み越えて押し合い、地面は血で滑るほどだったとポリュビオスは記す。スキピオは隊列を組み直し、最後の激突に臨んだ。
そのとき、敵騎兵を追っていたマシニッサとラエリウスの騎兵が戻ってきて、カルタゴ軍の背後に襲いかかった。かつてハンニバルがカンナエでローマに対して見せた包囲が、今度は彼自身に降りかかったのである。カルタゴ軍の死者は約2万とも言われる。
IVその後
前201年の講和で、カルタゴは海外領土をすべて失い、50年かけて1万タラントンという莫大な賠償金を払い、軍船は10隻まで、ローマの許可なく戦争をしてはならないと定められた。スキピオは「アフリカヌス(アフリカを制した者)」の称号を得た。
ハンニバルはその後カルタゴの政治改革に取り組んだが、政敵とローマの圧力で亡命を余儀なくされた。地中海東方を転々としたのち、前183年ごろ、引き渡されることを拒んで毒をあおったと伝えられる。奇しくも同じころ、スキピオも失意のうちに世を去った。
ローマ興亡の流れの中で
ザマの勝利によって、ローマは西地中海の覇権を握った。最大のライバルをついに打ち倒したローマは、以後ギリシアや東方の王国にも手を伸ばし、地中海全体の支配者へと駆け上がる。敵の戦法を学び取って逆に使いこなす柔軟さこそが、ローマ拡大の原動力だった。