나당전쟁은 백제와 고구려 멸망 후 신라와 당나라가 7년간 싸운 전쟁이다. 나당연합군이 백제와 고구려를 멸망시킨 후 당이 한반도의 영토를 독점하고 신라의 군령권을 침해하자 신라 군부가 크게 반발하였다. 670년 3월 신라의 오골성 선제 공격으로 시작되어 676년까지 7년간 이어졌다. 672년 8월 석문 전투에서 신라가 크게 패하기도 했으나 675년 9월의 매소성 전투에서 신라가 승리하면서 전세는 신라로 기울었다. 이후 676년 11월 기벌포 전투를 끝으로 전쟁은 마무리되었다. 신라는 이 전쟁의 승리로 삼국을 통일하고, 내부 정비를 거쳐 통일신라시대를 열게 되었다.
7세기 삼국의 대립이 격화되었다. 특히 642년 백제가 신라의 대야성(大耶城: 경상남도 합천군 합천읍)을 함락하면서, 신라의 위기감이 고조되었다. 신라는 난국을 타개하기 위해 고구려와 왜에 지원을 요청했지만 모두 거절당했다. 신라는 당과의 연결을 적극 모색하였다. 신라 김춘추(金春秋)는 당 태종(太宗)을 만나 상호 입장을 조율했고, 결국 648년 나당동맹이 체결되었다. 고구려와 백제 멸망 후 대동강을 기준으로 북쪽은 당이 차지하고 남쪽은 신라가 차지하기로 합의하였다.
660년 당의 장수 소정방이 13만 대군을 거느리고 덕물도(德勿島: 인천광역시 옹진군 덕적면 덕적도)에 도착하였고, 신라는 5만 대군을 거느리고 황산벌(黃山伐: 충청남도 논산시 연산면)로 나아갔다. 결국 백제는 나당연합군의 공격을 막지 못하고 멸망하였다. 이후 고구려의 연개소문(淵蓋蘇文)이 사망하자 지배층의 분열이 가속화되었다. 이 틈을 노려 668년 나당연합군이 평양성을 함락하면서 고구려도 멸망하였다.
나당전쟁의 근본적인 원인은 백제 · 고구려 멸망 이후 나당간의 영토문제라고 할 수 있다. 신라는 백제 · 고구려 멸망에 결정적인 역할을 했지만 승전의 대가는 아무 것도 없었다. 이후 당은 백제 옛 땅에 웅진도독부(熊津都督府)를, 고구려 옛 땅에 안동도호부(安東都護府)를 설치하여 직접 지배하고자 하였다. 영토 문제 외에 좀 더 직접적인 원인으로는 나당전쟁을 주도한 신라 수뇌부의 입장을 고려해 볼 수 있다. 나당연합이 결성되어 백제와 고구려를 원정하는 과정상에서 당에 의한 신라 군령권(軍令權) 침해가 위험수위에 다다랐으며, 그에 따른 신라 왕과 신라 군부의 반발이 거세었던 것으로 추정된다.
또한 평양을 견제할 수 있고 한강하류 일대를 방어하기 위해, 우선적으로 필요한 전략요충지인 비열홀(比列忽: 함경남도 안변, 현재 북한의 강원도 안변군)을 둘러싼 나당간의 갈등도 적지 않은 영향을 미쳤다. 비열홀은 고구려 멸망 이전 신라가 장악하였으나, 고구려가 멸망하자 당은 안동도호부로 귀속시키고자 하였다. 나당전쟁의 원인은 기본적으로 나당간의 영토문제라고 할 수 있지만, 직접적으로는 신라 군부의 불만이 크게 작용하였던 것으로 볼 수 있다.
신라는 고구려 멸망 후인 669년부터 본격적으로 전쟁준비를 해나갔다. 정치 · 외교분야에서는 외교사절을 통해 기만작전과 정보수집을 진행하였다. 사회 · 경제분야에서는 대사면(大赦免)을 통해 사회 안정과 민심수습을 꾀하였다. 군사 · 기술분야에서는 무기의 성능을 향상시키고 목장을 재분배하여 기병을 강화하였다. 종교 · 심리분야에서는 불교계 인사를 기용하여 사회 안정 및 민심수습을 하는 한편, 심리전을 구사하여 전쟁준비에 이용하기도 하였다.
신라는 669년의 철저한 전쟁준비를 거쳐, 670년 3월 설오유(薛烏儒)의 부대를 요동(遼東)으로 전격 파견한다. 신라의 설오유와 고구려부흥군의 고연무(高延武)가 각각 1만명씩 거느리고 압록강을 건너 오골성(烏骨城: 중국 요령성 단동시)을 선제 공격했다. 4월에 이르러 당군이 계속 도착하자 백성(白城)으로 물러났다. 설오유 부대의 요동작전은 신라의 치밀한 계획 아래 진행되었으며, 정병 1만이 동원되어 말갈병 및 당군과 접전을 벌인 점에서 본격적인 나당간의 충돌로 볼 수 있다.
요동을 선제공격한 신라는 670년 7월부터 671년 7월까지 웅진도독부에 대한 전면공격을 감행하고 백제 옛 땅 대부분을 점령하였다. 80여 성을 한꺼번에 점령한 것으로 보아 사전에 치밀히 준비된 공격으로 볼 수 있다. 이에 당은 웅진도독부에 구원군을 파견하였다. 이 웅진도독부 구원군은 671년 6월 석성(石城) 전투에서 신라군에게 패배를 당하였다. 반면 신라의 웅진도독부 점령계획은 순조롭게 진행되었다. 결국 7월에는 신라가 백제 옛 땅에 소부리주(所夫里州)를 설치하고 도독(都督)을 임명하게 되었다.
앞서 670년 4월에 편성되었던 고간(高侃)의 동주도행군(東州道行軍)과 이근행(李謹行)의 연산도행군(燕山道行軍)은 671년이 넘어서야 한반도에 모습을 드러냈다. 이들은 671년 7월 안시성(安市城)에서 고구려 부흥세력을 진압하고 평양으로 남하해 왔다. 672년부터 황해도에서 나당간의 본격적인 전투가 발생했다. 특히 672년 8월 석문(石門 : 황해도 서흥군 서흥면) 전투에서 신라는 장수 7명이 사망하는 참패를 당하였다. 이에 신라는 당에 사죄사를 파견하는 한편, 전국적으로 대규모 축성작업을 단행하였다. 신라는 전략을 공세에서 방어로 전환하게 되었다. 황해도 공방전을 거치면서 신라의 방어선은 대동강선에서 남하하여 673년 무렵에는 임진강선까지 밀리게 되었다.
신라 수군의 활동과 신라군의 결전 회피로 인해 당군의 보급문제가 점차 대두되었다. 장기간 신라 전선에 투입되었던 당군의 병력수급 문제 등으로 인해 전선은 소강상태로 접어들었다. 이에 당은 고간 · 이근행의 4만명만으로는 신라 본토 공격을 하기 어려울 것으로 판단하고, 674년 유인궤(劉仁軌)의 인솔 하에 대규모 신라 원정군을 편성하였다. 유인궤는 이듬해 신라 전선에 도착하여 675년 2월 칠중성(七重城: 경기도 파주시 적성면) 전투에서 승리를 거두고 당으로 돌아갔다. 유인궤를 대신하여 이근행이 병력을 충원받은 후 한반도 경략을 담당하게 되었다.
675년 당시 이근행 주도 하에 매소성(買肖城: 경기도 연천군 청산면)에 주둔하던 당군은 20만명이라 기록되어 있다. 과장된 수치라며 부정하는 견해도 있다. 기록을 그대로 믿지 않더라도 최소 5만명 이상이었던 것은 분명하다. 나당전쟁에는 고간 · 이근행의 행군병력 4만명 이외에, 설인귀의 계림도행군 2만명을 비롯하여 유인궤의 계림도대행군 최소 4만명 이상이 투입되었다. 이들 병력과 안동도호부 산하의 병력 그리고 지원부대를 모두 더하면, 나당전쟁기 동원된 당군은 최소 10만명에서 많게는 20만명에 달했던 것으로 볼 수 있다.
675년 9월 설인귀의 수군은 서해의 천성(泉城 : 경기도 파주시 탄현면)을 공격하였으나 실패하고 말았다. 설인귀 함대는 상륙전을 수행한 것으로 보아, 보급함대라기보다는 전투함대로 여겨진다. 설인귀 함대가 천성을 공격한 의도는 한강 하류를 일대를 장악하여 임진강을 경계로 형성된 전선을 한강선으로 재조정하기 위한 의도로 파악된다.
천성 전투에 이어 9월 29일 매소성 전투가 발생하였다. 신라군의 장수나 병력 규모는 나타나 있지 않지만, 전과는 확실히 기록되어 있다. 신라는 이 전투에서 전마(戰馬) 3만여 필과 그에 상응하는 병장기를 획득하였다. 전마 3만여 필을 보유한 당군의 규모가 상당했음을 짐작할 수 있다. 매소성 전투를 단일 전투로 인식해서는 곤란하다. 매소성 전투를 전후해서 천성(泉城) · 아달성(阿達成) · 칠중성(七重城) · 적목성(赤木城) · 석현성(石峴城) 전투 등이 동시다발적으로 일어났다.
당은 천성 전투가 시작되자 매소성에서 집결지 행동을 완료하였다. 임진강과 한강 사이의 내륙 거점인 칠중성 · 석현성을 공격하였고, 분견대를 파견하여 아달성 · 적목성을 함락시켜 강원 북부 지역을 장악하고자 하였다. 매소성 전투를 전후한 일련의 군사활동들은 하나의 큰 전투를 구성하는 전역(戰役)이었던 것이다. 이 매소성 전역에서 신라가 성공적으로 방어를 수행함에 따라, 당군은 임진강선을 돌파하지 못하였다.
당은 676년 윤3월 토번(吐蕃)의 공격으로 당 내지(內地)가 직접적인 위협에 노출되었다. 이에 당은 교착상태에 빠진 신라 전선을 포기하고 토번 전선에 주력하게 되었다. 물론 676년 윤3월 이전부터 토번 전선이 악화되었을 가능성을 배제할 수는 없다. 그러나 676년 윤3월 이전 시기에 토번의 침입이나 당의 대처로서 행군편성 및 병모실시(兵募實施: 부족한 병력을 보충하기 위해 임시로 각 주에 할당하여 병력을 모집하는 것) 등의 어떠한 징후도 포착되지 않고 있다. 나당전쟁의 분수령이 되는 매소성 전역은 당의 전략이 전환되기 이전 당이 토번 전선과 신라 전선을 동시에 유지하고자 하였던 시기에 발생하였다고 할 수 있다. 다시 말해 당이 한강 이북 지역을 확보하기 위해 공세를 지속하던 시기에 발생한 전투였던 것이다.
매소성 전역 이후 별다른 움직임이 없던 당은 676년 11월 백제 고지(古地)로 급작스럽게 공격을 해왔다. 이것이 바로 나당전쟁의 마지막 전장이 되었던 기벌포(伎伐浦: 충청남도 서천시 장항읍) 전투이다. 기벌포 전투에서 신라의 장수 시득(施得)은 22회에 걸친 전투를 거쳐 4,000여 명의 목을 베는 전과를 올렸다.
기벌포 전투의 발생원인은 당군의 철수작전의 일환이었던 것으로 판단된다. 나당전쟁은 675년 9월 매소성 전역을 고비로 당군의 패색이 짙어졌고, 전선은 다시 교착상태에 빠지기 시작하였다. 676년 윤3월 토번이 당 내지를 침입하자 당의 군사전략이 토번을 중심으로 전환되었고, 이에 따라 당군의 철수문제가 본격적으로 논의되기 시작하였다. 즉 676년 11월 이전에 이미 당의 군사전략이 전환되기 때문에, 676년 11월에 발생한 기벌포 전투를 당군의 대규모 공세로 보기는 어렵다.
당시 당의 철수 주도군과 백제고지 잔류군, 백제의 유민과 반신라적 인사 등이 기벌포로 집결하였고 이를 신라 수군이 공격한 것으로 보인다. 676년 11월 무렵 당의 신라 원정군의 전면철수가 결정되었고, 그에 따라 한반도에 있던 당군 전체가 철수를 시작하였으며, 그 주요 철수장소 중의 하나가 바로 금강 하구의 기벌포였던 것이다.
나당전쟁의 결정적 전투는 매소성 전역이라고 할 수 있으며, 이 전역에서 당은 패배 내지는 실패하였다고 볼 수 있다. 왜냐하면 당의 대규모 원정군이 수년간 투입되어 영토나 인력 · 재물을 제대로 확보하지 못하였기 때문이다. 10만 이상 투입된 당의 대규모 원정은 하북도(河北道) · 하남도(河南道) · 강남도(江南道)의 병력을 동원하여 이루어졌다. 나당전쟁의 종결과 함께 이들은 귀국길에 올랐고, 이들의 귀국은 당 정국에 상당한 파장을 미쳤다.
당은 676년 11월과 12월에 나당전쟁의 후유증을 무마하기 위해 개원(改元)과 대사면(大赦免)를 실시하고, 반군부세력인 이경현(李敬玄)을 중서령(中書令)으로 삼았다. 나아가 대규모 순무사(巡撫使)를 나당전쟁과 관련된 지역으로 파견하여 민심 수습에 주력하였다. 중국 동부 지역이 나당전쟁에서 병력과 물자를 충원하던 지역임을 감안해 보면, 당은 나당전쟁의 결과 상당한 타격을 입었던 것으로 추정된다.
나당전쟁은 당시 최강대국 당과 동북의 변방국인 신라 사이에 벌어진 대규모 전쟁이었다. 이 전쟁에서 당이나 신라 어느 한 쪽이 일방적으로 승리하거나 패배하였다고 단정지을 수는 없다. 그러나 당시 일련의 상황을 종합해볼 때 당은 공세를 지속하였으나 신라가 당의 공격을 효과적으로 막아내며 당의 보급문제를 야기시켰던 것은 분명하다. 당은 원정군의 보급문제 · 국내의 여론악화와 더불어, 토번의 서북변경 위협이라는 직접적인 요인으로 인해 한반도에서 물러날 수밖에 없었다.
나당전쟁은 정확한 정세판단을 바탕으로 한 신라의 선제공격으로 시작되었다. 이후 당은 대규모 원정군을 투입하였음에도 신라를 ‘정벌’하지 못하였다. 그러므로 나당전쟁은 당시 최강대국 당의 공세를 성공적으로 막아낸 ‘약소국’ 신라의 승리로 보는 것이 자연스럽다.
신라는 당에 맞서 대의명분보다는 실리를 택해 강경책과 유화책을 적절히 구사하였다. 그리고 신라군은 당시 고유의 군사 편제단위를 가지고 있었으며, 최대 7~8만명 정도 동원할 능력이 있었던 것으로 판단된다. 그러므로 나당전쟁의 승리는 신라 자체의 전력이 안정되어 있었고, 신라 수뇌부의 전략전술이 주효하였기 때문에 가능한 일이었다고 할 수 있다.
나당전쟁은 신라에 있어 백제와 고구려 멸망전과는 성격을 달리하는 전쟁이었다. 국가의 존망을 다투는, 그것도 외부의 지원없이 최강대국과의 전면전이었다. 신라는 당과의 전면전에 앞서, 백제 고지 일부지역과 군사 요충지인 비열홀을 장악하고, 요동으로 선제공격을 감행하여 전쟁 초기의 주도권을 확보하였다. 나당전쟁은 전체적으로 볼 때 전략상의 요충지를 선점하여 당의 침략을 미연에 대비하고자 한 신라의 예방전쟁(豫防戰爭)이라 할 수 있다.
결국 신라는 7년에 걸친 당과의 장기전을 치르면서 한반도를 지켜냈다. 이러한 나당전쟁의 개전과 종전은 국제정세의 영향을 전혀 배제할 수는 없지만, 기본적으로 신라의 역량과 주도하에서 이루어진 것이라 할 수 있다. 신라는 나당전쟁의 승리로 삼국을 통일하고, 내부 정비를 거쳐 통일신라 시기를 열 수 있었다.