**제2차 포에니 전쟁**(라틴어:Secundum Bellum Punicum) 또는 **한니발 전쟁**(라틴어:Bellum Hannibalcum)은 기원전 218년부터 기원전 202년까지 로마 공화정과 카르타고 사이에 벌어진 일련의 전쟁을 말한다. 카르타고의 장군 한니발과 로마의 대결이라는 점에서 **한니발 전쟁**으로도 부른다. 이 전쟁에서 로마 공화정은 초기에는 명장 한니발에 밀려 이탈리아 본토까지 침략당하였으나 끝내 역전에 성공하여 카르타고를 꺾고 지중해 서부의 패권을 차지한다.

## 1차 포에니 전쟁과의 사이

### 카르타고의 상황
제1차 포에니 전쟁이 끝나고 카르타고는 시칠리아에 대한 주도권을 상실하고 로마에 막대한 배상금을 물어주어야 했고 전쟁에 참가한 다른 나라 용병들의 급료도 지불해야했다.

이것은 카르타고에게 상당한 압박으로 작용하여 급기야 기원전 240년 급료에 불만을 품은 용병들이 반란을 일으켰다. 용병의 반란은 용병의 출신 국가들과 카르타고내의 반 카르타고 세력과 결합하여 거의 3년 4개월을 끌고서야 해결되었다. 그 와중에 로마는 사르데냐와 코르시카에 대한 지배권을 얻었다.

한편 카르타고의 하밀카르 바르카는 용병의 반란을 진압하고 해외로 눈을 돌려 히스파니아로 이주하고 본격적인 히스파니아 식민지 경영에 착수했고, 기원전 228년에는 히스파니아 동쪽에 '새 카르타고'(현재 에스파냐의 카르타헤나)를 세우고 자신의 바르카 가문의 중심지로 삼았다.

### 로마의 상황
로마는 시칠리아를 속주로 삼았고 카르타고가 용병 반란을 진압하는데 여념이 없는 동안 사르데냐와 코르시카를 카르타고의 영향력에서 자신의 것으로 만들어 지중해 서부에 대한 영향력을 확대했다. 또한 일리리아의 해적을 소탕하면서 아드리아해로 진출하고 남하하는 켈트인의 침입에 맞서 북이탈리아, 알프스 이남까지 그 영토를 확장하였다.

## 전쟁의 초기
기원전 219년 아버지 하밀카르 바르카의 뒤를 이어 히스파니아의 카르타고 식민지를 경영하던 한니발은 이베리아반도 동쪽 해안에 있는 사군툼을 침공했다. 사군툼은 로마의 동맹국으로 로마는 한니발의 철수를 요구했으나 히스파니아 식민지로 자신감을 얻은 카르타고는 이를 거절했고 로마는 카르타고에 선전포고를 했다. 제2차 포에니 전쟁이 발발한 것이다.

기원전 218년 5월 한니발은 보병 4만 명, 기병 8,000명, 전투 코끼리 37마리를 이끌고 피레네산맥을 넘었다. 로마는 즉시 2개의 군대를 편성하여 시칠리아와 마실리아로 나누어 보냈다. 한니발은 로마의 허점을 찔러 갈리아를 가로질러 바로 알프스산맥을 넘어 이탈리아에 이르렀다. 험준한 알프스를 넘으면서 그의 병력은 보병 2만 명, 기병 6,000명으로 줄었다. 그해 11월 로마군과 카르타고군은 티키누스에서 처음 만났다. 티키누스 전투에서 집정관 푸블리우스 코르넬리우스 스키피오가 이끄는 로마군은 카르타고의 기병에 밀려 패했고 이어서 트레비아강에서 벌어진 트레비아강 전투에서도 기병과 보병이 모두 맞붙었으나 한니발의 전술에 밀려 로마군은 대패했다. 이로써 로마는 알프스 남쪽의 갈리아 지방을 포기할 수밖에 없었다.

겨울이 지나고 이듬해인 기원전 217년 4월 예전에 에트루리아 지역인 트라시메노호 전투에서도 로마군은 집정관 가이우스 플라미니우스가 전사할 만큼 괴멸적 타격을 입고 패했다. 이 전투로 로마는 토스카나 지방도 잃었다. 이제 로마가 바로 코 앞에 있었지만 한니발은 바로 로마로 쳐들어 가지 않고 로마의 주변 도시를 공격했다. 이는 로마의 연합세력을 차례로 로마로부터 분리하여 로마를 고립시키고 최종적으로 로마를 공격하여 항복을 받으려는 전략이었다.

이에 맞서 로마는 파비우스 막시무스를 독재관에 임명하고 한니발과 맞서 싸우지 않고 도망다니는 지구 전술을 구사했다. 이 전술은 비록 많은 로마인에게 비웃음을 사고 비판을 받았지만 당시의 로마로서는 유효한 전략이었다. 또한 한니발의 기대와는 달리 압도적인 카르타고의 전력에도 불구하고 로마의 동맹 세력은 로마에 반기를 들지 않았다.

기원전 216년 카르타고와 로마군은 칸나이 평원에서 대규모 회전을 벌였다. 한니발은 언제 어디서든 자신이 원하는 위치에서 자신이 원할 때를 골라 전투를 벌였고 승리했다. 칸나이에서도 일부러 지는 척하다가 자신의 전술상 유리한 칸나이 평원까지 로마군을 끌어들여 싸웠다. 로마군의 전력은 8만 4천에서 7천 명가량, 한니발의 군대는 5만 가량이었다. 로마군은 이러한 압도적인 숫자에도 불구하고 천재적인 한니발의 전술에 휘말려 괴멸했다. 이 전투는 포위 섬멸전의 교과서적인 전투로 역사상 유명한 전투로 손꼽힌다.

## 전쟁 중반
한니발이 이탈리아에서 승승장구하고 있을 무렵, 히스파니아에서는 코르넬리우스 형제가 이끄는 로마군이 한니발의 배후지인 히스파니아의 카르타고 식민지를 상대로 선전하고 있었다. 기원전 215년 시라쿠사와 카푸아가 한니발 편으로 돌아섰고 마케도니아의 필리포스 5세도 한니발과 공동 투쟁을 선언했다. 로마의 원로원에서는 한니발의 은근한 강화 제의를 거절하고 파비우스 막시무스를 다시 집정관으로 선출하여 파비우스 전술 체제로 돌입했다. 한니발과 정면 승부를 피하고 군단을 쪼개어 지구전을 펼치면서 한니발을 이탈리아 반도 안에서 고립시키는 전술을 펼친 것이다. 이 해에 로마군은 한니발을 상대로 이기지도 않았지만 지지도 않았다. 이때부터 4년간 남부 이탈리아에서 로마군과 한니발은 소모전을 벌였고 전선은 교착 상태에 빠졌다.

한편 시칠리아와 마케도니아 왕국에서는 로마가 점차 전세를 역전시켜 나갔다. 마케도니아의 필리포스 5세는 한니발과의 약속을 지키지 못하고 로마의 군단과 그리스의 다른 국가들의 방해로 한니발과 호응해서 이탈리아로 오지 못했으며 시칠리아의 시라쿠사에서는 아르키메데스의 신무기로 로마군은 고전했지만 기원전 211년 클라우디우스 마르켈루스가 이끄는 로마군은 1년여에 걸친 공성전을 끝내고 시라쿠사를 함락시켰다. 이때 아르키메데스는 수학문제를 푸는 데 열중해 있다가 미처 그를 알아보지 못한 로마병사에 의해 살해되었다. 또한 캄파니아 지방의 요지인 카푸아는 로마군에 포위되었고 한니발이 구하려 애썼지만 결국 로마군에게 탈환되었다. 이로써 시칠리아와 캄파니아를 모두 잃은 한니발의 고립은 강화되었다.

## 전쟁 말기
기원전 209년 이탈리아에서 교착상태에 빠진 전투와는 달리 멀리 히스파니아에서는 26세의 젊은 스키피오가 대담한 전술로 한니발의 근거지인 신 카르타고(카르타고 노바)를 함락시켰다. 한니발은 로마의 장군 클라우디우스 마르켈루스와 쫓고 쫓기는 상태에서 일진일퇴를 거듭하고 있었고 그 사이 마지막으로 한니발에게 남은 타렌툼이 함락되었다. 이듬해 히스파니아의 스키피오는 바이쿨라 전투에서 한니발의 동생 하스드루발 바르카의 카르타고 군을 무찔렀다.

하스드루발은 남은 정예 카르타고 군을 모아 기원전 207년 한니발의 알프스 행군 길을 이용해 북부 이탈리아에 도착했고 반도를 내려가 한니발과 합류해 로마를 공격할 예정이었다. 우연히 이 정보를 입수한 로마군 사령관 클라우디우스 네로는 자신의 구역인 남부 이탈리아를 이탈하여 북쪽으로 이동하여 메타우루스 강둑에서 카르타고군을 물리쳤고 이 메타우루스 전투에서 하스드루발은 전사했다. 이듬해에는 지금의 세비야 근처에서 벌어진 일리파 전투에서 스키피오 아프리카누스는 카르타고군을 괴멸시키고 히스파니아에서 카르타고 세력을 완전히 물리쳤다.
이후 스키피오는 아프리카에서 누미디아의 마시니사와 손잡고 카르타고 본토 침략을 위한 발판을 마련하였고 이 무렵 한니발의 막내동생 마고네는 제노바에 상륙하여 한니발을 도우려 했지만 로마군에게 저지 당했다. 한니발은 교착된 전선을 지키며 남부 이탈리아에 틀어박혀 있었고 부상당한 마고네는 북이탈리아에 칩거했다.

한편 스키피오는 북아프리카에서 카르타고를 위협했고 로마와 카르타고 사이에는 강화교섭이 이어졌다. 기원전 203년 한니발과 동생 마고네는 본국 정부에 의해 카르타고로 송환되었는데 마고네는 항해 중 죽었다. 양국의 강화가 거의 이루어질 무렵 강화는 결렬되었고 이듬해인 202년 양쪽은 나라의 운명을 건 결전을 준비하게 되었다.

자마에서 벌어진 회전에서 한니발이 지휘하는 카르타고군과 스키피오가 지휘하는 로마군과 마시니사의 누미디아 기병대 연합군이 맞붙었다. 카르타고군은 보병 4만 6천, 기병이 4천, 전투 코끼리가 80마리였고 로마군은 라일리우스가 좌익, 마시니사의 누미디아 기병이 우익을 맡은 기병대 6천을 포함하여 약 4만 명의 병력이었다. 전투의 결과는 스키피오의 승리였다. 한니발은 그의 장기인 기병의 열세를 극복하지 못하고 패했다. 결국, 카르타고는 항복했다.