坎尼會戰雙方部署:漢尼拔採取以戰養戰攻掠羅馬
兵力
兩位執政官共有七萬名步兵、二千四百名羅馬騎兵與四千名同盟騎兵(在會戰裡上陣的),並在兩個軍營留守二千六百名重裝步兵與七千四百名輕裝步兵(合計一萬名步兵),所以羅馬在戰場上的總兵力達至八萬六千四百人。而迦太基軍則有大約三萬名重裝步兵、六千名輕裝步兵與八千名騎兵,這包括了主戰場上的兵力與分隊兵力。
羅馬戰術
當時傳統的陣形是步兵置中軍,騎兵置兩翼。羅馬人依照此法擺陣,但選擇加厚中軍的縱深而不是加闊其戰線闊度(這是因為其軍隊數量多於迦太基的,所以其戰線可以與迦太基人的等長),並希望以此迅速擊潰漢尼拔的中軍。其第二隊小隊(principes)緊接著第一隊小隊(hastati),當羅馬軍隊前進時可以確定其具有統一的戰線。但就如波利比奧斯所述:「羅馬的小隊(Maniple)一個接一個,結果中間的走動空間少了……而每個小隊的縱深皆比前線的還大。」然而面對發羅的陣形,漢尼拔沒有可調配的空間或撤退的可能,因為其背後為河流,而羅馬人的優勢兵力卻會逼使其軍隊會後撤,最後其可能被切割並逐個被擊潰。坎尼這個戰場不同於此前的戰場,一目瞭然,沒有可以伏兵之地,而發羅知道漢尼拔此前兩仗均以詭計與花招取勝,所以其主動尋求發動戰役,以防被算計。
此外,發羅亦知道羅馬步兵當初在特拉比亞會戰裡成功穿透了漢尼拔的中軍,所以其打算再次製造此結果並且要更為從容地取得更大的戰果。漢尼拔為了應付羅馬軍的優勢兵力,選擇了不同於傳統的陣形,其將最低素質的兩萬五千名的高盧新兵放於中軍,並輔以八千名久經沙場的西班牙重裝步兵,而一萬二千名驍勇善戰的非洲重裝兵則分列兩邊。而兩翼則分置騎兵。漢尼拔依據各兵種的特性與戰鬥素質來佈陣。其使用了各兵種的優勢與缺點來實行其計劃。其計劃首先命令其兩翼的精銳騎兵先擊潰較弱的羅馬騎兵並從後攻擊羅馬步兵,此時那些羅馬步兵會因數量上佔優而將漢尼拔的中軍逼向後撤,而漢尼拔此時則可將原先安放在兩側的非洲重裝兵向中間進攻,對羅馬軍隊形成包圍
漢尼拔戰術
漢尼拔接著逐漸擴展其中軍戰線,如波利比奧斯所述:「當其中軍變為一條直線後,其將中軍的西班牙重裝步兵和高盧新兵放前,而其後部隊則逐漸後退,但保持與中軍的接觸,結果形成了一個新月狀的陣形,側翼的戰線則會因為戰線延長而變薄,而其部署非洲兵在此,而作支援,並與西班牙重裝步兵和高盧新兵互相策應。」波利比奧斯形容迦太基的中軍在新月狀佈陣裡是薄弱的,並突出向羅馬中軍,而兩側則作梯形排列。普遍相信這樣做的目的是為了阻延羅馬步兵前進的步伐,並讓漢尼拔有時間部署對其非洲兵作出最有效的部署。漢尼拔亦確定羅馬軍隊面向南方,而其軍隊則面向北方,所以早晨的光線照向羅馬軍,而且羅馬軍亦會受到夾雜著沙塵的東南風的吹襲。此外,奧非都斯河在漢尼拔的戰略部署裡亦佔了重要席位。因為其背靠著奧非都斯河,所以可以確保迦太基軍的後方不會受到羅馬軍的進攻。此外,羅馬軍因為背靠坎尼城的山丘,右靠奧非都斯河,所以其只有從左方撤退。漢尼拔對軍隊的佈陣,及對軍隊能力的瞭解程度,成為其在坎尼會戰裡獲勝的最主要的因素。
這是因為迦太基軍隊遠離本土作戰,給養是個大問題,雖然漢尼拔的確像《孫子兵法》中說的那樣「取食於敵」,但畢竟不能長期穩定的獲得戰爭資源。公元前216年6月,漢尼拔發現阿普利亞平原平原上有一座叫坎尼的城市儲存著大量羅馬軍糧,而且坎尼的周圍有大片耕地,糧食即將收割,他便率軍佔領了這座城市。羅馬執政官發羅和保盧斯率領羅馬野戰軍駐紮在附近,他們擁有比迦太基更多的兵力,而且熟悉當地環境。雙方在進行了一些小規模的衝突後開始準備大規模的會戰。8月2日,輪到發羅執掌兵權,他便留下一支警戒部隊守衛大營,率領其餘部隊在奧菲杜斯河北岸紮營(南岸還是北岸,有爭議),而漢尼拔則背水列陣。根據美國作家杜伊普的說法,羅馬列入戰陣的兵員組成大約為步兵六萬六千人,騎兵七千人。留守營地的羅馬軍約有一萬人。漢尼拔可能有大約三萬二千步兵與一萬三千騎兵,餘下大概有五千人守衛大營。
解:羅馬人依舊採用傳統的三線編隊,羅馬騎兵在右,其盟國的騎兵居左。輕武裝部隊也按常規部署在主戰線前方。羅馬共和國的精華-----步兵軍團位居輕裝部隊之後。最前面是青年槍兵,這是些經驗不足的新兵,他們配備兩根標槍和一把短劍以及一面盾,他們的作用在於消耗敵人戰鬥力。青年槍兵之後是第二列,也就是成年戰士,這些人戰鬥力強,正當壯年,有著良好的戰鬥技巧。最後一列是老兵,這是羅馬常年征戰的精英部隊,他們手持重矛衝入戰場,這些人已經風華不再,但他們豐富的經驗是羅馬取得勝利的最終保證。與密集的希臘方陣不同,羅馬方陣士兵之間的間隙較大,給每個士兵都提供了足夠施展的空間,同時也有利於士兵之間相互合作,刺殺敵人。