第二次布匿战争
第二次布匿戰爭是古羅馬和古迦太基之間三次布匿戰爭中最有名的一場戰爭，前后共作戰17年（前218年-前201年）。迦太基主帥漢尼拔率6萬大軍穿過阿爾卑斯山，入侵羅馬本土，並在前216年的坎尼會戰大敗羅馬軍團，但受限於裝備不足，接下來十多年漢尼拔沒有進攻羅馬城，而是轉戰義大利南部，羅馬當局也改採不正面交鋒的費邊戰術以消耗迦太基遠征軍的力量。前204年羅馬人在大西庇阿的率領下反攻迦太基本土，漢尼拔回軍馳援，兩年後大西庇阿於扎馬戰役擊敗漢尼拔，第二次布匿戰爭告終。
这次战争以后罗马开始称霸西地中海，迦太基实力大大减退，被迫接受苛刻的条约，直到第三次布匿战争为罗马所灭。战争的结果是罗马占领了伊比利亚半岛和巴利阿里群岛，迦太基成为罗马的附庸，努米底亚获得统一。这场战斗牵涉到地中海沿岸的多方势力，战争对各个国家的历史进程均产生了一定的影响。同时也是罗马共和国所经历的几次最惨烈的战争之一，迦太基军队曾多次有机会兵临罗马城下。这场战争中迦太基名将汉尼拔的出色表现奠定了他在西方军事史上的地位。同时，汉尼拔在扎马之战中的失败也成就了大西庇阿的威名。
迦太基在第一次布匿戰爭失敗之後，因失去地中海裡的西西里島，迦太基人在哈米尔卡·巴卡的带领下，開始向歐洲西部的伊比利亞半島發展。前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歲以下貴族男子赴羅馬充當人質。羅馬則獲得西班牙與高盧南部的領土與西地中海所有島嶼的統治權，至此羅馬成為西地中海的唯一強權。