公元前218年冬,因為漢尼拔之前戰勝羅馬,所以兩軍附近的凱爾特部落左右搖擺,一會同羅馬訂立同盟,一會與漢尼拔送糧草。漢尼拔有鑑於此,出並掃蕩並劫掠了這些地區。這些地區的凱爾特人,因而前往與漢尼拔隔河對峙的羅馬執政官隆古斯處(西庇阿負傷,由隆古斯統兵),隆古斯是年輕的平民執政官出身,並不清楚蠻族的反覆性,認為這是人心向背的大好機會,所以決定出兵攻擊漢尼拔。
1前奏
漢尼拔精心挑選了一個風和日麗的早晨,當時天未亮士兵們就已經吃飽喝足,然後派遣大約2000名左右的努米底亞騎兵,在羅馬營地前騷擾。羅馬因為是緊急戰備,所以未曾來得及吃早飯便列隊整備。隆古斯並不清楚是漢尼拔的計謀遂派遣輕騎兵去追趕,因為清楚羅馬在騎兵方面的劣勢,所以派遣標槍兵隨後輔助驅趕。
然而努米底亞騎兵鐵了心的要引誘羅馬人,時不時的回頭騷擾,致使驅趕演變成一場遠距離的追擊直至過了河。當追擊部隊過河後發現隱藏在森林裡的漢尼拔重灌步兵時,追擊已經成了前鋒戰。
因為有之前凱爾特人的保證和復仇,隆古斯也希望來一場大規模的決戰。所以在得到前鋒兵馬陷入困境時,驅動大部隊前往救援。
2列陣
隆古斯在將軍團渡過河後發現迦太基人嚴陣以待,遂立馬排起羅馬經典的三列陣隊形。
羅馬軍團是以120人成六列為一個百人隊,百人隊是軍團的基本單位。羅馬的經典戰術是以百人隊排成的三列陣隊形。該隊形如下:
第一列是青年兵,由經驗比較少的青年組成。
第二列是壯年兵,由較有經驗的三十多歲士兵組成,通常是軍團的核心兵種。
第三列是成年兵,年齡最大但是經驗最豐富,為後備隊。
該陣列在第一橫列青年兵擲矛接敵數分鐘後,由第二橫列壯年兵替換下第一橫列的青年兵。一場戰役通常要進行數次替換,而第三列成年兵負責壓陣。
隆古斯在正面排起羅馬方陣後,於兩翼配置騎兵,標槍兵跟隨騎兵後面,弓箭手,投石兵在方陣前與敵軍互射誘敵。從兵法上講隆古斯的排兵佈陣中規中矩,即照顧到羅馬自己人,也對各徵召地區的友軍物盡其用,這在其他戰場上或許還可以,但面對漢尼拔卻還不夠。
漢尼拔也是將騎兵配置兩翼,但將他最弱的凱爾特劍士排布在鋒線前列,其實以凱爾特劍士的定位而言,更多應當屬於追逃和側翼包抄,並不能勝任中堅鋒線的責任,很容易就在面對面的衝鋒中潰逃。所以漢尼拔將伊比利亞劍盾兵也配置在凱爾特劍士兩翼,形成中間弱兩翼一般的鋒線戰前預計。在伊比利亞劍盾兵的兩側,才是騎兵和追隨其後的伊比利亞精銳——矛盾兵、輕盾投矛兵和大象兵。
為了掩飾凱爾特劍士被安排在中路這一反常舉動,也配置投石兵在鋒線前與羅馬遠端輕裝兵對射。這種基本放棄中線注重兩翼的打法有其固有的弊端,一旦中線被突破,軍隊將被分隔成兩部分,而敵軍自中間向兩翼倒卷,極易引起連環雪崩。畢竟中間被破兩翼不知其他情形,但見中路敵軍向自己襲來,以為戰場形勢不利而潰逃,是人之常情。
從佈陣上看漢尼拔的軍隊更多是互相牽制,並且物盡其用。讓核心部隊起到鼓舞士氣和監督的作用。
3交戰
漢尼拔將軍隊佈置列陣,並派出誘敵的騎兵後就耐心的等著羅馬渡河,等著羅馬排隊,等著羅馬忙完一切。
等到遠端輕裝步兵互射開始,漢尼拔還閒有餘暇的觀望了一下為他算計至今沒有吃早飯的羅馬軍的氣勢與軍容。隨後令兩翼騎兵出動襲擾,側翼步兵跟進。羅馬兩翼是薄弱的騎兵和未成年的標槍兵,並不足以抗拒更強大的努米底亞騎兵,和伊比利亞精銳投矛兵。
隆古斯一見如此只得令鋒線羅馬重步兵,頂著敵方遠端投射向前挺進,抽調弓箭手投石兵支援兩翼,並在距離敵前40步左右開始衝鋒,在30步左右進行第一輪投矛。漢尼拔的投石兵本來在對射中落了下風,在吃了第一輪投矛後,又見重灌步兵氣震山河的衝鋒立馬潰散,為其後凱爾特劍士和兩翼的伊比利劍士所斬殺。
經血的凱爾特人被激發起蠻族習性,在硬抗羅馬人的第二輪標槍和衝鋒後,短時間內憑藉著一股血勇硬是頂住了羅馬人的第一波攻勢,使得整個鋒線進入相持階段。
在兩翼,騎兵經過短暫的交鋒後,羅馬騎兵開始潰敗,比較羅馬騎兵的數量和質量都不佔優勢,而本來支援的標槍兵對射不過伊比利亞的精銳投矛兵,使得羅馬騎兵得不到支援反而要受敵方投矛兵的攻擊。
而射程較遠,不受投矛兵關注的弓箭手又因為投矛兵的盾牌未能對投矛兵產生多大影響。勝負在很短的時間內就分出,羅馬標槍兵幾乎在迦太基投石兵潰散不久後也潰散了,而騎兵一直撐到標槍兵離開戰場大約有數箭距離才潰散。這段距離或許對騎兵來說很短,但對騎兵的生命來說很長。
並非羅馬騎兵不願作戰或者年輕,羅馬騎兵無論是本土輕騎兵還是徵召騎兵,都是有經驗的部隊。而是因為漢尼拔生怕兩翼僵持時間太久,鋒線抗不住,派伊比利亞矛盾兵——專門剋制騎兵的方陣兵佇列,和具有驚嚇馬匹作用的大象兵進場(迦太基慣用大象,有專門方法不使自己馬匹受驚)。這使得羅馬騎兵甚至不得不步戰以為戰局和標槍兵拖延時間。
隆古斯見兩翼騎兵開始潰敗,輔助遠端四散而逃,但仍未動搖他必勝的決心。畢竟羅馬的重步兵一定快要分出勝負了。事實也和隆古斯猜得差不多,凱爾特劍士僅憑血勇士經不起羅馬二列橫陣輪番消耗的,迦太基的中央鋒線以肉眼可見的速度快速的稀薄了下去,不僅有被殺的,更多的是越來越多凱爾特人開始投降,或者潰散逃離戰場。
漢尼拔立馬將兩翼於羅馬軍背後會師合圍,隆古斯為了不讓部隊後路被斷影響士氣(一般兩翼潰敗羅馬並不懼怕,畢竟在他們看來決定戰局的是正忙的重灌步兵),將壓陣的羅馬矛盾重灌步兵攔住了前來包抄的迦太基兩翼。
漢尼拔為了迅速開啟局面,只好將本來不多的8頭戰象用作前鋒以打亂陣型,羅馬的矛盾兵是短矛,對付蠻族和普通騎兵足夠了,對付戰象不足夠,一般對付戰象要用輕裝兵的火箭和標槍,然而二者已成雲煙。於是隨著突破點的幾個百人隊被大象衝散,迦太基人的步兵和騎兵蜂擁而進。
隆古斯一見戰局朝像不利,便貿貿然的將手中唯一的皇牌——羅馬禁衛騎兵派了出去,點名擊殺大象以期望扭轉戰局,在他看來大象是迦太基歷來戰場的主宰,擊殺大象足以扭轉場面奠定勝局。
其實漢尼拔很清楚大象和禁衛騎兵在兩軍心中地位。禁衛騎兵是羅馬的驕傲,然而對羅馬來說稀罕,對迦太基來說不是。禁衛騎兵的損失對羅馬人計程車氣是一大打擊,戰象的損失來說對迦太基人卻影響不大。
儘管如此漢尼拔還是決定物盡其用,在用戰象誘使禁衛騎兵進入包圍圈並藉此殲滅幾個來援的羅馬百人隊後,特地抽調部隊掩護戰象推進到羅馬鋒線的背後,羅馬鋒線背後是負責壓陣的第三列成年兵。儘管成年兵並不懼怕大象而英勇奮戰,但此時久經廝殺的大象已經漸趨發瘋最終失控,在人群中不避刀兵橫衝直撞,所到之處人仰馬翻,波開浪裂,很快造成羅馬中央鋒線多處混亂很潰敗。
此時維持戰線的凱爾特劍士已經所剩無幾,但迦太基的匠人隊伍已經將攻城器械搭建起來,並朝被包圍成一團的羅馬軍隊投擲燃燒石塊和發射弩箭。隨著一發發地動山搖的投石隆古斯眼見戰局已經不可挽回,軍心開始動搖,便開始召集部隊準備撤退。
4羅馬撤退
羅馬是一個偉大帝國並非虛傳,即便戰局不利撤退也井然有序,將一場有可能因潰散而演變成的大追殺,變成受損較小的斷後阻擊戰。隆古斯或許只是資質平庸的將領,當羅馬的撤退按操典來,漢尼拔也找不到其中的漏洞。羅馬人放棄處於混亂不能響應命令的中央鋒線部隊,將兩翼受大象影響較小,建制儲存完好的部隊首先撤離,然後是護住後路的矛盾兵部隊。
這一逼不得已的舉措導致,漢尼拔並無足夠的人手,去追擊還尚存不少百人隊的成建制撤離部隊,只能派騎兵追擊,隆古斯以十幾個百人隊立龜甲陣,成半月型佈置在河邊,各間隔十幾米,成功阻止努米底亞騎兵的追擊,但也將這十幾個百人隊永遠留在了對岸。
戰役之後
在此次戰役中羅馬大約損失了二萬到三萬的核心軍隊,再加上輔助部隊的話大約在三萬之間,隆古斯最後只帶著一萬不到的羅馬人逃離了這塊傷心的河畔。而漢尼拔對此卻瞧不上眼,忙著大肆籠絡各個本來就對羅馬心懷不滿的凱爾特人。儘管此次戰役中漢尼拔損失了大部分加入的凱爾特人,但其嫡系部隊只有戰象受損最為嚴重僅剩1頭,其他兵種並無折損多少。依史料的不同,有說只損失400人,有說損失5000人的,但歸根結底損失的並不多。
漢尼拔在此戰中展現了他迦太基特有的商戰特點。田忌賽馬,以強擊弱。用自己最弱的一面面對對手最強的一面,用自己最強的和次強的一面去戰勝對手次強和最弱的一面。又算準羅馬陸軍實力非人力可抗,將最大的殺著——攻城武器在羅馬軍無力抽出手後放出來,針對密集的羅馬陣型,讓羅馬最後信心崩潰做出撤退的決定。
其實就裝備和訓練程度而言,迦太基和蠻族都是屬於較不過羅馬的,在戰下去即便有投石車勝負還是五五之間。原因在於投石車當時工藝並不精細,誤差很大,人多佔地大還好說,人開始少或者被分割成數個小區域就沒用了。而無論騎兵還是遠端部隊都不能解決羅馬重步兵,再打下去其實不一定耗得過羅馬。
所以整場戰鬥的關鍵在於士氣——營造羅馬要輸了的感覺,信心——營造羅馬屢屢中計已經無力迴天的感覺,速度——在將士們發現自己無論如何都啃不動羅馬龜殼之前,將羅馬打敗。
所以漢尼拔說是將領,其實有很大程度是商人成分在內,這也是羅馬誓死不投降不認輸堅持再打,直接讓漢尼拔五大連勝的原因,羅馬人每每分析覺得在物理層面必定能勝,但打起來總是莫名其妙的輸了。