第二次布匿战争

背景

迦太基在第一次布匿戰爭失敗之後，因失去地中海裡的西西里島，迦太基人在哈米爾卡·巴卡的帶領下，開始向歐洲西部的伊比利亞半島發展。前226年羅馬和迦太基簽訂合約，規定兩國以埃布羅河為界，在伊比利亞半島上劃分勢力範圍，據李維所述，條約規定埃布羅河南岸城市薩貢托享有自治權。但在前219年，漢尼拔出兵攻打薩貢托，該城向羅馬求援，但羅馬鑑於該城不是羅馬的同盟未出兵相助，迦太基軍隊在圍困該城8個月，佔領該城。事後羅馬令迦太基交出漢尼拔受審，被拒絕之後宣戰，迦太基政府也下令漢尼拔對羅馬開展軍事行動。

戰爭準備

漢尼拔‧巴卡詳細制訂的戰略計劃是，在前237年—前219年征服的伊比利亞（西班牙）境內建立一支強大的軍隊，越過阿爾卑斯山，從北面對羅馬實施突然的猛烈突擊。據波利比奧斯所記載，漢尼拔在伊比利亞的部隊共有90,000步兵，12,000騎兵，還有一部分是戰象部隊，具體數目現已無法考證，但可以肯定的是，這支戰象部隊的數目之多，無論是希臘世界還是羅馬都是從未遇見的。
與此同時，羅馬方面也積極開展對迦太基的進攻，羅馬元老院決定派遣一支以執政官普布利烏斯·科爾內利烏斯·西庇阿為主將，並以其弟格奈烏斯·科爾內利烏斯·西庇阿·卡爾弗斯為副將的軍隊前往伊比利亞。這支軍隊包括60艘艦船，10000步兵，700騎兵。又派遣另一執政官提比略·塞姆普羅尼阿斯·隆加斯率領160艘艦船的艦隊和兩個軍團入侵阿非利加。

漢尼拔跨過阿爾卑斯山

前218年春，漢尼拔率領迦太基軍隊自迦太基在伊比利亞的基地新迦太基出發，沿著海岸向東北方向進軍。在埃布羅河，他將他的軍隊一分為三，漢尼拔用了幾個星期的時間，通過軍事或外交手段征服了庇里牛斯山和埃布羅河之間的各個部落，但在這些戰鬥中迦太基軍隊減員嚴重。在庇里牛斯地區，在他讓大約11000名左右不願離家的伊比利亞士兵駐守在這些新征服的領土，並把伊比利亞的兵權交與其弟哈斯德魯巴。隨後，漢尼拔率領大約50000名步兵和9000名騎兵進入高盧地區。為了和避免羅馬在沿海一帶的盟友交戰，漢尼拔選擇了在內陸行軍。在高盧地區，漢尼拔通過外交手段使得迦太基軍隊可以穿過該地區，但在羅訥河流域迦太基軍隊和阿洛布羅熱（Allobroges）部落發生了戰鬥。在這之後迦太基軍隊的數目是38000步兵（不包括輕步兵），8000騎兵，37頭戰象。
普布利烏斯·科爾內利烏斯·西庇阿從馬賽的商人處得知迦太基軍隊已到達馬賽，他將伊比利亞的兵權交與其弟，親自率領一部分軍隊前往阻擊漢尼拔，防止他入侵義大利本土。漢尼拔避開了羅馬的軍隊，帶領他的軍隊到達阿爾卑斯山腳下，這時已是前218年的秋季了，他收到了迦太基在義大利的高盧盟友的來信，他們催促漢尼拔跨越阿爾卑斯山脈，稱他們會給予幫助。漢尼拔在阿爾卑斯山中開路架橋，克服種種困難，硬是率軍越過了險峻的阿爾卑斯山脈，進抵到陶拉西亞一帶帕杜斯河（波河）谷地。

波河流域

迦太基軍隊在五個半月的時間內行軍1600餘公里，沿途克服了險惡的天然障礙和許多部落的抵抗到達波河。此時，羅馬軍隊正在波河流域和高盧部落波伊人作戰，普布利烏斯·科爾內利烏斯·西庇阿在聞得漢尼拔的行蹤後，率軍前來，取得了當地羅馬軍隊的兵權。雙方軍隊在提契諾河畔開戰，迦太基軍隊擊敗羅馬軍隊，這是漢尼拔越過阿爾卑斯山後的第一戰。在這以後的作戰中，漢尼拔對待羅馬俘虜都相當殘酷，但對待羅馬盟友的俘虜卻很寬容，為的是爭取他們。這時，被派到阿非利加的執政官提比略·塞姆普羅尼阿斯·隆加斯得知漢尼拔的消息後前來支援。雙方沿著特雷比亞河對峙，時為公元前217年初春。第二天，羅馬人渡過特雷比亞河，雙方正式開戰，在戰鬥中迦太基軍隊裡的戰象起到了不小的作用，漢尼拔擊潰了羅馬軍隊。戰後，雙方都轉入冬營。
通過這一系列的勝利，迦太基的漢尼拔鞏固了自己的後方，同時，他亦因此與羅馬為敵的高盧諸部落訂立了同盟。羅馬元老院決定由蓋烏斯·塞爾維利烏斯·格米努斯和蓋約·弗拉米尼分別出任公元前217年的執政官。同時在羅馬公民中徵兵，和在特雷比亞河會戰後剩餘的兵力組成13個軍團，又在羅馬的同盟中徵募了大約兩倍數目的軍隊。這些軍隊分別被派往各個戰線，蓋約·弗拉米尼率30000步兵，3000騎兵駐守在義大利本土。蓋烏斯·塞爾維利烏斯·格米努斯率40000士兵駐守波河流域。前任執政官普布利烏斯·科爾內利烏斯·西庇阿被任命為代執政官，重新派到伊比利亞去。

義大利中部

前217年春，迦太基軍隊越過亞平寧山脈，秘密侵入伊特魯里亞，進入義大利本土，羅馬人在該地區兵力薄弱，只能組織起8000名士兵。鑑於迦太基軍隊在該地的存在將嚴重威脅到羅馬城的安全，執政官蓋約·弗拉米尼火速領兵前往，他們在特拉西梅諾湖附近相遇。漢尼拔利用蓋約·弗拉米尼急於求戰的心理，在特拉西梅諾湖畔的狹窄隘口巧妙設伏。蓋約·弗拉米尼不顧軍隊在急行軍之後的疲憊，和漢尼拔開戰。迦太基軍隊成功將羅馬軍隊引入埋伏中，加以殲滅，30000名羅馬士兵多數戰死，蓋約·弗拉米尼亦陣亡。隨後，漢尼拔擊潰了在伊特魯里亞駐守的8000羅馬士兵。
得知此消息後，羅馬城中人心惶惶，將一切人員都武裝起來，並推薦費邊為獨裁官，積極準備防禦戰。但是漢尼拔卻領軍前往亞得里亞海沿岸，在那裡他大肆劫掠，獲得了很多戰利品。蓋烏斯·塞爾維利烏斯·格米努斯率領駐守在波河流域的40000士兵趕來。費邊清楚的認識到漢尼拔的軍事能力，故而在取得了蓋烏斯·塞爾維利烏斯·格米努斯軍隊的兵權後，僅僅跟隨漢尼拔，但不與其正面決戰，並通過打擊漢尼拔的補給線來消耗迦太基軍隊的作戰能力。這種戰術在後世被稱為「費邊戰術」。漢尼拔攻下基羅尼亞城，並在那裡過冬。費邊的這種拖延做法引起了羅馬人不滿，他們迫切的希望消滅漢尼拔和他的軍隊。適逢費邊的獨裁官六個月任期已滿，羅馬人在羅馬城內重新組織了4個軍團，推舉盧基烏斯·埃米利烏斯·保盧斯和蓋烏斯·特雷恩蒂烏斯·瓦羅為前216年的執政官。其中，盧基烏斯·埃米利烏斯·保盧斯由於參加過和伊特魯利亞人作戰，而蓋烏斯·特雷恩蒂烏斯·瓦羅缺乏軍事經驗，只是由於煽情的演說而獲得了這個職位。

義大利南部

兩位執政官率領大約80000名士兵前去和漢尼拔作戰，雙方將軍隊駐紮在一個叫坎尼的地方。前216年8月2日早晨，迦太基軍隊和羅馬軍隊都做好準備，羅馬軍隊排成三排，埃米利烏斯·保盧斯指揮中路軍，瓦羅指揮右翼，塞維利阿指揮左翼。迦太基軍隊中路向外突出，努米底亞騎兵埋伏在附近的森林中，漢尼拔的兄弟馬戈負責右翼，他的外甥負責左翼。坎尼會戰正式開始後，漢尼拔運用鉗形戰術，下令中路軍不斷後撤，誘使羅馬軍隊深入，最後由兩翼軍隊順勢包夾，其置於兩翼的精銳騎兵從後路包抄，成功的完成了對羅馬軍隊包圍。在戰鬥中漢尼拔派遣500名伊比利亞士兵假投降到羅馬軍隊中，伺機而起，大大的擾亂了羅馬軍隊。是役，羅馬軍隊損失這包括羅馬軍隊的統帥、執政官埃米利烏斯·保盧斯本人與兩位前任執政官，兩位刑事推事，48位軍團將校里的29位，與80位羅馬元老，而迦太基方面也有16700名士兵傷亡。
坎尼會戰後，義大利的很多部落和城市臣服迦太基。漢尼拔向羅馬城索要贖金，被拒絕後將羅馬俘虜一部分販賣為奴隸，其餘屠殺。羅馬人面對嚴重危機，解放了羅馬城中的8000名奴隸，又在羅馬和同盟中徵召士兵，積極備戰，打造各種武器。原本準備派往西西里的羅馬將軍馬庫斯·克勞狄烏斯·馬賽拉斯被迅速召回。但漢尼拔並未進軍羅馬城，為了打擊羅馬的盟友，破壞羅馬在那裡的統治根基，漢尼拔轉向亞平寧半島南部。爭取羅馬的盟友是他一貫的策略。隨後，迦太基軍隊相繼攻占了培提利亞、亞壁（Arpi）、普利亞、塔林敦等城市。開始了迦太基和羅馬在義大利南部的爭奪戰。

兩西庇阿在伊比利亞的作戰

格奈烏斯·科爾內利烏斯·西庇阿·卡爾弗斯在中和漢尼拔之弟漢席多拔的對抗中未取得大進展。其兄普布利烏斯·科爾內利烏斯·西庇阿前來和他共同作戰。不久，由於迦太基本土受到了努米底亞的西法克斯的進攻，哈斯德魯巴被召回到迦太基去和他作戰去了。形勢對羅馬人頗為有利，兩兄弟取得了不錯的成果，更由於他們出色的外交手段，許多城市主動投入到羅馬的旗下，迦太基和西法克斯議和後，哈斯德魯巴被重新派回伊比利亞主持事務，羅馬軍隊依舊獲得不少進展。但在一次偵察行動中，兩人所率領的少數軍隊為迦太基軍隊包圍，雙雙在戰鬥中陣亡。

大西庇阿攻占薩貢托

普布利烏斯·科爾內利烏斯·西庇阿和格奈烏斯·科爾內利烏斯·西庇阿·卡爾弗斯死後，普布利烏斯·科爾內利烏斯·西庇阿之子大西庇阿主動請纓要求指揮即將派往西班牙的新的羅馬軍隊。大西庇阿趁著退潮之際攻占薩貢托城。

反攻迦太基城

從公元前212年起，主動權轉到羅馬人手中。他們採取積極的行動奪回原在義大利、西西里、伊利裡亞和馬其頓的失地。公元前209年，羅馬人攻佔了迦太基人在伊比利亞的主要基地之一，新迦太基城。哈斯德魯巴企圖從伊比利亞馳援漢尼拔，但因在梅塔夫爾戰役公元前207年中被擊潰，而告失敗。反羅馬同盟因羅馬人屢屢獲勝而日趨瓦解。前204年，大西庇阿率羅馬軍隊在迦太基附近登陸。在公元前202年的扎馬戰役中，迦太基人戰敗。

結果

迦太基失敗。前201年，迦太基人同羅馬人簽訂了條款苛刻的和約。根據和約規定，迦太基撤離西班牙、地中海諸島，迦太基人失去阿非利加以外的一切領地，並完全解除武裝、自衛隊不得赴海外作戰，將整個艦隊交給羅馬，且任何自衛戰爭必須先和羅馬協商等，並償付巨額戰爭賠款，迦太基失去所有伊比利亞半島的領土，海軍解散，只能有10艘防海盜的船。同時選100名14歲以上30歲以下貴族男子赴羅馬充當人質。羅馬則獲得西班牙與高盧南部的領土與西地中海所有島嶼的統治權，至此羅馬成為西地中海的唯一強權。