user: 고구려-당 전쟁에 대해 설명해 주세요.

gpt: **고구려-당 전쟁**은 645년부터 668년까지 고구려와 당나라 사이에서 벌어졌던 전쟁이다.

user: 645년 제1차 고구려-당 전쟁에 대해서도 설명해 주세요.

gpt: 644년 6월 당은 고구려의 요동 공격을 명령한 후 11월 수륙 양면으로 약 50만 명에 달하는 대규모 원정군을 편성해 공격을 시작했다. 이때 당군은 각종 공성용 기구를 총동원했다. 당 태종은 다음해 2월에 낙양을 출발하여 직접 원정길에 올랐다. 또한 돌궐과 거란으로 구성된 이민족의 군대도 다수 동원되었다.

당 태종은 정예군 6만 명을 유주에 집결시키고, 요동을 향해 세 길로 진군하기 시작했다. 총 사령관인 이세적이 정예 선발대 6만 명을 이끌었고 현도성으로 향했다. 이도종에게 6만의 군사로 신성을 치게 하고, 장검에게 6만의 군사로 건안성을 치게 했다. 당 태종의 친정군 20만이 뒤를 따랐다. 거기에 당 태종이 친히 거느린 6도행군 36만이 뒤따랐다. 또한 장량이 상륙군 4만3000을 포함한 수군 10만명, 1000척의 함대로 등주에서 출발하였다. 본대가 80만에 이르렀지만 새로운 수레의 발명으로 수송부대가 본대의 2배에서 1/4로 줄어들었다. 그래도 수송부대를 합쳐서 100~104만에 이르는 부대였다.

## 개전 초기: 신성·개모성·비사성 전투
이세적의 당의 선봉 요동도행군은 유성을 떠나면서, 형세를 과장하여 마치 회원진을 향하는 것으로 위장하였다. 하지만 비밀리에 북쪽 샛길로 크게 돌아서 우회하여, 고구려가 예상치 못하던 북쪽 통정진으로 진군하였다. 이렇게 방어하는 상대의 허를 찌르는 기습 전법은 고대부터 현대에 이르기까지 수 차례 반복되었다. 과거 카르타고의 한니발이 로마를 침공할 때 로마로 들어오는 길목 마르세이유에서 방어진을 치고 있는 로마군을 피해 북쪽으로 크게 돌아서 알프스산맥을 넘어 로마를 침입하여 허를 찔렀고, 1940년5월, 2차세계대전 당시 서부전선에서 독일이 프랑스의 주력부대가 방어하는 벨기에가 아닌 룩셈부르크의 아르덴 숲으로 독일의 주력 기갑부대를 집중시켜 돌파하여 영국-프랑스군의 허를 찔렀듯이, 수 백년 전 사마의가 요동 공손연 정벌 때 그랬던 것처럼, 당의 대군도 고구려 주력이 방어하고 있던 강한 곳을 피하고 전혀 예상치 못한 곳으로 기습 도하하였다. 과거 고구려-수 전쟁때 수나라가 정공법으로 요하를 건너려고 엄청난 인적, 물적 손실을 치뤘던 것에 비하면 한층 전략적으로 연구한 허허실실의 기습이었다. 당나라 군도 고구려의 방어를 만만치 않게 본 결과이다. 

마침내 여름 5월 1일, 이세적이 이끄는 당의 선봉 요동도행군은 통정진에서 요하를 건너 현도성에 이르렀다. 고구려의 각 성들은 모두 성문을 닫고 수비태세로 들어갔다. 작은 현도성이 쉽게 함락되자 5월 5일, 선봉부대의 부대총관 강하왕 이도종은 군사 수천 명을 거느리고 고구려의 요동지역 제1의 요지인 신성에 이르렀고, 절충도위 조 삼량은 기병 10여 명을 데리고 직접 성문을 위압하였다. 하지만 10여 일간의 신성 공격이 여의치 않자 5월 15일, 당군은 군량이 보관되어 있던 개모성으로 기민하게 이동하였다. 연개소문은 주변의 작은 성 가시성의 700명을 보내 개모성을 지원하도록 하였다. 치열한 공방전에 당나라 행군총관 강확이 활에 맞아 전사하였지만 마침내  이 세적과 강하왕 도종이 개모성을 쳐서 빼앗고, 개모성의 인구 2만 호와 양곡 10만 석을 탈취한 후, 개모성을 개주로 개칭하였다.

한편 두 번째 남쪽 방면으로는 영주 도독 장검이 이민족으로 편성된 군사를 거느리고 선봉이 되어 요수의 남쪽 하구를 건너 건안성을 급습한다. 당의 갑작스러운 기습에 고구려 군사는 격파되어 수천 명이 전사하였고 건안성으로 후퇴하였다.

세 번째 해로를 통한 방면으로는 장량이 당의 수군을 거느리고 산동의 동래로부터 바다를 지나 비사성을 습격하였다. 비사성은 사면이 절벽으로 되어있고, 다만 서문으로만 오를 수 있는 천혜의 요새이다. 하지만 유격전에 명성을 떨친 당나라 장수 정명진이 군사를 데리고 선봉으로 야습을 시행하였고 부총관 왕 대도가 먼저 성에 올랐다. 5월 31일, 마침내 성이 함락되고 남녀 8천 명이 죽었다. 천혜의 요새였던 비사성은 예상과 달리 당의 야간 기습에 너무나 쉽게 함락되고 말았다.

## 1차 요동성 전투
4월 29일, 마침내 고구려의 요동 최대의 성, 요동성으로 당의 이도종이 이끄는 요동도행군의 선발 기병부대가 도달하였다. 요동성은 과거 고구려가 점령하기 전 중국의 한나라 시절부터 삼국시대 공손씨의 지배를 받을 때는 양평성으로 불리었었고 예전 사마의가 함락시키고 공손연을 참수했던 그 성이다. 이때 당 태종 이세민이 직접 이끄는 주력 친정군은 요하의 늪 지대에 이르렀는데, 진흙이 2백여 리나 펼쳐져 있어 사람과 말이 통과할 수 없었다. 장작 대장 염 입덕이 흙을 퍼부어 다리를 만들었다. 이에 따라 군사들이 행군을 멈추지 않고 늪 지대 동쪽으로 통과하였다.

한편 급박한 상황 속에 고구려는 신성과 국내성의 보병과 기병 4만 명을 긴급히 보내 요동성을 구원하려 하였다. 이때 고구려 4만군의 지휘관은 미상이다. 5월8일, 고구려의 4만 구원군은 요동성에 도착하였고, 당의 이세적이 이끄는 요동도행군의 선봉 이도종이 이끄는 요동도행군의 선발 기병부대와 요동성 앞에서 마주치게 되어 교전을 시작한다. 고구려 4만 구원군을 맞아 당의 이도종은 4천 명의 기병으로 이에 대항하려 하였으나 너무 적었다. 그리하여 당군의 군사들은 모두 병력의 차이가 현격하다 하여, 도랑을 깊이 파고 보루를 높이 쌓으며 왕이 올 때까지 기다리는 것이 좋겠다고 말하였다. 하지만 이도종이 말했다. "고구려는 군사가 많음을 믿고 우리를 경시하고 있으나, 그들은 멀리서 왔기 때문에 피곤한 상태이므로 공격하면 반드시 이길 수 있다. 이렇게 하여 길을 깨끗이 닦아놓고 왕을 기다리는 것이 마땅할 것이다. 어찌하여 왕 앞에 적을 넘겨 드리려 하는가?" 도위 마문거가 말했다. "강한 적을 만나지 않고서야 어떻게 장사의 능력을 드러내겠느냐?" 이도종은 말을 마치자, 말을 채찍질하여 달려가 공격하였다. 이도종이 용맹히 돌진하여 가는 곳마다 고구려 군사가 쓰러졌다. 이에 당나라 군사들의 마음이 약간 안정되었다.

하지만 본격적인 전투가 시작되고 고구려의 대군이 전열을 가다듬고 반격하자 숫적으로 열세를 보이던 당군은 패주하게 된다. 행군 총관 장군예가 퇴주하고 당 나라 군사가 크게 패배하였다. 이도종은 흩어진 군사를 수습하여 높은 곳에 올라섰다. 그는 고구려 군대의 진영이 혼란스러운 것을 보고, 다시 기병 수천 명을 이끌어 돌격해왔다. 하지만 이 때 이세적이 이끄는 요동도행군의 군대가 도착하여 고구려 군을 협공하였다. 이리하여 고구려 군사가 크게 패배하여 물러나니, 사망자가 1천여 명이었다.

## 2차 요동성 전투
신성과 국내성에서 급파되었던 고구려 지원군 4만의 거센 공격을 우선 뿌리친 이세적의 요동도행군은 당 태종 이세민의 친정군을 기다렸고 당 태종의 친정군은 요수를 건넌 다음 다리를 철거하여, 마침내 5월10일 요동성에 도달하여 이세적의 요동도행군과 합류하였다. 당 태종은 강하왕 이도종을 위로하여 상을 주고, 마문거를 몇 급 올려 중랑장으로 삼고, 장군예의 목을 베었다. 이세민은 직접 수백 명의 기병을 거느리고 요동성 밑에 가서, 군사들이 흙을 지고 참호를 쌓는 것을 보았다. 이세민은 직접 제일 무거운 것을 자기 말에 실었다. 이에 시종들이 다투어 흙을 운반하여 성 밑에 쌓았다.

당군은 이세적의 지휘 하에 밤낮 없이 12일 간 요동성을 맹공격하였다. 여기에 당 태종 이세민의 친정군이 합류하여 정예 부대를 이끌고 성을 수백 겹으로 포위하였다. 북소리와 함성이 천지를 진동시켰다. 성 안에는 주몽의 사당이 있었고, 이 사당에는 쇠사슬 갑옷과 날카로운 창이 있었는데, 망녕되게도 이전 연 나라 시대에 하늘이 내려 준 것이라고 하였다. 바야흐로 포위 태세가 긴박해지자, 미인을 부신으로 분장시켜 놓고 무당이 말하기를 "주몽이 기뻐하니 성은 반드시 보전될 것이다"라고 하였다. 또한 요동성에는 백제가 황색 칠을 한 쇠 갑옷을 바치고, 또 검은 쇠로 만든 무늬있는 갑옷이 있어 군사들에게 입혀 종군하였다.

요동성은 요동지역 최대의 성이자 고구려의 거점이었다. 하지만 요동성은 험준한 산에 의지하여 구축된 신성, 백암성, 안시성 같은 다른 고구려의 산성과는 달리 평지에 지어진 성이었다. 당나라 군은 예전 고구려-수 전쟁 때 수나라군이 동원했던 포차보다 훨씬 위력적이고 강력한 개량된 포차를 동원하였다. 당군은 이러한 신형 포차를 열지어 놓고, 큰 돌을 3백 보 이상 날려 보냈다. 돌이 맞는 곳마다 모두 허물어졌다. 아무리 철옹성인 요동성이라도 평지에서 이러한 포차 공격에는 취약할 수 밖에 없었다.

고구려 군은 나무를 쌓아 누대를 만들고 그물을 쳤으나 돌을 막을 수 없었다. 당나라 군사는 충거로 성 위의 집을 부수었다. 이 때 남풍이 세게 불자 당왕 이세민이 민첩한 군사로 하여금 장대의 꼭대기에 올라가서 성의 서남루를 불사르게 하였다. 불이 성 안으로 타들어가자 이세민은 곧 장병들을 지휘하여 성에 오르게 하였다.

마침내 5월 17일, 과거 고구려-수 전쟁 때 수나라가 총력을 기울여도 함락되지 않았던 요동 최대의 요새 요동성이 함락되었다. 요동성은 고구려 요동지역의 가장 크고 상징적인 요동 최대의 성이었다. 이때 성이 함락하여 사망자가 1만여 명이었다. 당 나라는 군사 1만여 명과 남녀 주민 4만 명을 생포하고, 양곡 50만 석을 탈취하였으며, 요동성을 요주로 개칭하였다. 당군은 이제 뒤이어 남쪽의 백암성으로 몰려가 공격을 시작했다.

## 백암성 전투
한편 고구려는 요동성에 이어 이번에는 백암성을 구원하기 위해 오골성의 고구려 군 1만명을 긴급히 출동시켰다. 고구려 지원군은 백암성에 도착하였고, 마침 백암성을 공격하려던 철륵출신 총관이었던 선봉 계필하력의 선발 기병부대를 요격한다. 이 때 계필하력은 고구려 장수 고돌발에게 옆구리가 창에 찔리는 큰 부상을 입고 낙마한다. 목숨이 경각에 달린 순간, 당나라 장수 설만비가 가까스로 고구려 기병의 포위를 뚫고 중상을 당한 계필하력을 구해낸다. 당의 기병부대는 패퇴하여 물러났고 당군을 물리친 고구려 지원군은 백암성에 입성하여 합류하였다.

하지만 5월28일, 이제는 당 태종 이세민의 친정 대군이 백암성으로 몰려왔다. 이세적은 백암성 서남 쪽을 공격하고, 당 태종 이세민은 서북쪽으로 갔다. 당군이 총공세로 나서고 당의 우위대장군 이사마는 성 앞까지 진격하여 공격하던 중 고구려 군사의 화살을 맞고 쓰러졌다. 백암성은 신성과 같이 험준한 산에 의지하여 지은 산성으로 당군이 신형 포차를 앞세워 공성에 나섰지만 평지의 성 요동성과는 달리 역시 함락이 역시 용이하지 않았다.

하지만 신성과 달리 백암성은 내부의 결속 때문에 무너지게 된다. 백암성주 손대음이 비밀리에 심복을 보내 항복하기를 청하고, 성에 나와 칼과 도끼를 던지는 것으로 신호를 삼겠다고 하면서 말하기를 "저는 항복하기를 원하지만 성 안에 따르지 않는 자가 있다."라고 하였다. 이세민은 당 나라 깃발을 사자에게 주면서 "틀림없이 항복하겠으면 이 깃발을 성 위에 세우라"고 하였다. 손대음이 그 깃발을 세우니 성 안 사람들은 당 나라 군사가 이미 성에 올랐다고 생각하여, 모두 손대음을 따라 항복하였다. 마침내 6월 1일 백암성이 함락되었다.

이세민은 요동을 공격하여 승리하였을 때, 백암성이 항복을 청했다가 얼마 후에는 후회하였다. 이세민은 그들의 변심을 보고 노하여 군사들에게 명령하였다. "성을 빼앗으면 마땅히 빼앗은 사람과 물건을 모두 전사들에게 상으로 주리라. " 이 때 이세적은 이세민이 백암성의 항복을 받으려는 것을 알아채고, 갑병 수십 명을 데리고 와서 이세민에게 말했다. "사졸들이 화살과 돌을 무릅쓰며 목숨을 돌보지 않고 싸우는 것은, 노획물을 탐내기 때문입니다. 지금 성이 거의 함락되어 가는데 어찌하여 항복을 받음으로써 전사들의 마음을 저버리려 합니까?" 당 태종 이세민은 말에서 내려와 사과하며 말했다.
"장군의 말이 옳다. 그러나 군사를 함부로 풀어 사람을 죽이고, 그들의 처자를 사로잡는 것은, 내가 차마 저지를 수 없는 행위이다. 장군의 부하로서 공로가 있는 자에게는 내가 창고의 물건으로 상을 줄 것이다. 장군으로 인하여 이 성이 속죄받기를 원한다. "

이세적은 물러나와 성 안의 남녀 1만여 명을 잡아, 물가에 장막을 치고 그들의 항복을 받았다. 그런 후에 곧 먹을 것을 주고, 80세의 노인에게는 정도에 따라 비단을 주었다. 다른 성의 군사로서 백암성에 와있던 자들은 전부 위로하여 타이르고, 양식과 군기를 주어 원하는 곳으로 가게 하였다. 이보다 앞서서 요동성 장사가 부하에게 피살되는 사건이 발생했었다. 그 성의 성사 한 사람이 장사의 처자들을 데리고 백암성으로 도망해왔었다. 이세민은 그의 의리를 가상히 여겨 비단 다섯 필을 주고, 장사의 상여를 만들어 평양으로 보냈다. 백암성을 암주로 개칭하고, 항복한 고구려 백암성 성주 손대음을 자사로 삼았다. 이로써 고구려의 요동방어선의 중심부였던 요동성, 백암성이 차례로 당군의 수중에 넘어가게 되어 고구려는 절체절명의 위기를 맞게 된다.

## 신성·건안성 전투
한편 요동성, 백암성을 차례로 함락시킨 당나라 군은 방향을 돌려 아직 함락시키지 못한 북쪽의 고구려 요동방어선 제1의 요지 신성을 다시 공략하기 위해 다시 재공격하였다. 앞서 고구려가 신성과 국내성, 오골성을 근거지로 계속 지원군을 보내자, 당군으로써는 신성을 북쪽에 남겨두고 남쪽으로 진공하는 것이 부담이 되었다. 하지만 평지의 요동성과는 달리 신성은 산성으로써, 백암성과 마찬가지로 당군이 포차를 밀집하여 공성하기 어려웠다. 성 내부의 내분이 일어나 함락되었던 백암성과 달리 신성의 방어전은 굳건했다. 전투는 상당히 치열했고 당시 당나라 군이 점령한 개모성에 진주한 당나라 장수 위정은 매일 밤 들려오는 북과 함성소리로 두려워했다고 회고할 만큼 전투는 치열했다.
하지만 훗날 당나라가 고구려와의 645년 신성전투, 건안성전투, 주필산전투, 667년 금산전투를 당나라와 고구려의 4대전투로 회고한 것처럼 큰 전투였지만 당나라 군은 수확을 얻지 못하고 물러났다. 

한편 건안성방면에서도 역시 당나라 장검의 부대가 와해되며 고구려는 방어에 성공한다. 건안성 성주 고원은 고구려 군을 이끌고 장량의 당나라 부대를 기습해 성공하는 등 당나라 군을 계속 괴롭혔다. 이때 당나라의 진영에서는 건안성 공격을 앞두고 많은 의견이 오고갔다. 이세적은 건안성이나 오골성이 중요하지만 안시성을 먼저 점령하지 않으면 배후로부터 공격을 받아 당나라의 군량미 수송에 차질이 생길 것이라 주장하였다. 그러나 태종은 안시성이 연개소문의 정변 때도 안시성 성주가 복종하지 않아 공격을 받았으나, 항복시키지 못한 점을 들어 우회할 것을 주장했다. 결국 당 태종은 이세적의 의견에 따르기로 결정하였다.

## 주필산 전투
신성과 건안성에서 고구려의 강력한 반격으로 밀려난 당군은 요동성에서 수일간 전열을 정비한 후 작전회의를 한 후 방향을 남쪽으로 돌려 안시성으로 진격한다.
선봉이었던 요동도행군 제1군 장사귀가 이끄는 선발부대가 안시성 부근에 도달하였고 안시성의 고구려 군과 격전을 벌인다. 안시성의 고구려 군은 당군을 포위, 섬멸직전으로 몰아 넣었다. 이 때 당나라의 장수인 유군앙이 고구려 군에 겹겹이 포위당하여 빠져나오지 못하고 있었다. 이러한 위급한 시기에 당시 사병이었던 설인귀가 단창필마로 뛰어들어가 고구려 군의 장수 한명의 목을 잘라 말에 걸었다. 고구려 군의 포위망이 뒤로 물러나고, 유군앙은 겨우 구조된다. 그는 일개 사병으로서 장수가 해야 할 일을 했던 이 전투 이후 설인귀의 명성은 군중에 알려지게 되었다. 당의 선발부대는 더 이상 공격하지 못하고 당 태종의 대군을 기다리게 된다.

요동 방어선 북단의 신성, 최남단의 건안성이 당군의 공격을 막아내고 있으나 중앙의 요동지역 최대의 요동성과 그리고 주변 백암성, 개모성등이 차례로 함락되어 요동의 위기는 이제 극단을 치달았다. 6월11일, 당 태종의 당의 대군은 남하하여 안시성 부근까지 진격하였다. 한편 고구려에서는 요동방면에 위기상황을 타개하고자, 거국적인 15만 대군을 긴급히 요동방면으로 급파한다.

마침내 6월 20일, 당의 대군을 맞아 고구려의 대군은 안시성 부근에 도착하여 강 건너 당군을 마주 보고 건곤일척의 승부를 하게 되었다.
이전과 이후의 한국사에서 수 많은 이민족의 침입이 있었지만 대부분의 전쟁 양상은 침공한 이민족을 상대로 농성 혹은 적은 규모의 군으로 항전하였지만 이렇게 단일 전투에서 15만명이상의 대군을 동원하여 이민족의 대군과 평원에서 대등하게 대회전을 했던 경우는 거의 유일하다. 또한 중국의 한족과-한국의 한민족 간에 벌어진 단일 전투 사상 거의 유일한 대규모 평원 대회전 전투가 된다. 

당나라 진영에서 당 태종 이세민은 작전 회의에서 "지금 고구려 군에게 전략이 있다면 그것은 다음의 세 가지이다. 첫 째는, 군사를 이끌고 직접 앞으로 나가서, 안시성과 연결되는 보루를 쌓고, 높은 산의 험한 지세에 의지하여 성 안의 곡식을 먹으면서 말갈군을 풀어 우리의 마소를 약탈하는 것이다. 이렇게 되면 우리가 공격한다고 해도 빨리 항복받을 수 없고, 돌아가려 해도 늪지가 장애가 될 것이므로, 우리 군사들은 앉아서 곤란한 지경에 처하게 된다. 이것이 상책이다. 둘 째는, 성 안의 군사를 데리고 야간 도주를 하는 것이다. 이것이 중책이다. 셋 째는, 자기의 지혜와 재능을 모르고, 우리와 대적하는 것이다. 이것이 하책이다. 그대들은 두고 보라. 그들은 필히 하책으로 나올 것이니, 그들을 사로잡게 되는 작전이 내 눈 앞에서 벌어질 것이다. "

사서에 기록된 당 태종 이세민이 언급한 첫 번 째 전략은 적의 대군이 몰려왔을 때 단기 승부로 바로 맞서지 않고 험한 지형의 장점에 의지하여 장기전으로 전쟁을 몰고 가며 침공군의 보급의 약점을 공략하는 고구려 방어군의 가장 확실한 전략이었다.

한편 반대 편 고구려 진영에서는 나이 많고 경험이 풍부한 대대로 고정의가 북부욕살 위두대형 고연수와 남부욕살 대형 고혜진에게 말했다.
"진왕은 안으로는 여러 영웅들을 쳐 없애고, 밖으로는 오랑캐들을 굴복시켜 스스로 왕이 되었으니, 이는 세상을 제도하라는 천명을 받은 인재이다. 지금 그가 전국의 군사를 이끌고 왔으므로 이에 대적할 수는 없다. 나의 계책은, 군사를 정비하되 싸우지 않고, 여러 날을 두고 지구전을 펴면서 기습병을 보내 그들의 군량 수송로를 차단하는 것이다. 저들은 군량이 떨어지면 싸우려 해도 싸울 수 없고, 돌아가려 해도 갈 길이 없게 될 것이다. 이 때만이 우리가 승리할 수 있는 때이다. "

고구려에도 인물이 있었다. 고구려의 노회한 대대로 고정의는 이러한 당나라 침공군의 약점을 정확히 간파하여 당과 바로 승부를 내기보다는 최대한 침공군과 전투를 피하고 지구전을 통해 침공군을 약점을 최대화하려 하였다. 역사적으로도 이러한 외세의 침략에 맞서 지구전을 통해 먼거리 원정군의 약점을 극대화하는 전략은 동서고금을 막론하고 수 차례 있었다. 한니발의 카르타고 침공군에 맞섰던 로마가 그랬고 중국 삼국시대 촉의 제갈량의 침공에 맞섰던 위나라 사마의가 그랬다. 하지만 그 당시에도 침공군에 맞선 이러한 대 전략에 상반되게 전장 분위기와 혈기를 못 이겨 일선 지휘관들에 의해 수 차례 치명적인 패배를 기록했던것처럼 당시 고구려 군의 선봉 고연수와 고혜진은 기만의 명수 당 태종의 계략에 넘어가게 된다.

당 태종은 곧 장손무기 등 신하들과 함께 수백 명의 기병을 데리고 고지에 올라 산천의 형세 가운데 복병시킬 수 있는 곳과 병력의 출입이 가능한 곳을 관찰하였다. 이 때 강 건너의 고구려 군은 말갈군과 연합하여 진을 치고 있었으니 그 진의 길이는 40리에 달할 정도로 형세가 컸다.

당 태종이 이러한 고구려의 대군을 보고 크게 두려워하는 기색을 나타냈다. 고구려-당 전쟁 시작 이래 늘 숫적으로 당나라 군이 우위에 있었고 맞서는 고구려 군이 이렇게 많은 수가 몰려와 진을 치고 있는 모습을 당 태종은 본 적이 없었다. 이 때 강하왕 이도종이 말했다. "고구려는 전력을 다하여 천자의 군대를 방어하고 있으니, 틀림없이 평양의 수비에는 약점이 있을 것입니다. 저에게 정예군 5천 명을 주시어, 그들의 근본을 뒤엎게 하십시오. 그리하면 싸우지 않고도 수십만 군사를 항복시킬 수 있습니다. "

이것은 예전 로마의 스키피오가 한니발의 카르타고 대군을 앞에 두고 카르타고의 수도를 급습하여 함락시켰던 것이나 중국 삼국시대 때 위나라 장수 등애가 촉나라를 공략하기 위해 한중에 주둔하고 있는 강유의 촉군을 피해 촉의 수도 성도를 기습하는 계책과 같았다. 하지만 자존심이 강한 당 태종 이세민은 이런 모험적인 전략을 채용하지 않고 정공법으로 물리치려 하였다.

한편 선봉 고연수와 고혜진은 군사를 거느리고 강을 건너 안시성 밖 40리까지 진군하였다. 당 태종 이세민과 당군의 수뇌부가 걱정하는 것은 고구려의 대군이 안시성과 연계하여 수성 및 지구전을 펼치는 것이었다. 따라서 고구려 군을 최대한 끌어 들이기 위해 앞서 고구려 고돌발에게 중상을 입은 계필하력 대신 돌궐 출신 좌위대장군 아사나두이에게 명하여 돌궐의 기병 1천 명을 이끌고 고구려 군을 유인하기 위해 공격을 하였다. 첫 교전에서 당 나라 군사가 크게 패하였고, 선봉 고연수는 "다루기가 쉽구나"라고 말하며, 앞을 다투어 진격하였다. 마치 수 백년 전 고구려-위 전쟁때 관구검의 유인전술에 고구려 동천왕이 말려들었던 것처럼 고연수는 안시성 동남방 8리 지점까지 진격하여 산에 의지하여 진을 쳤다.

고구려 군을 안쪽으로 끌어 들이는데 성공한 당 태종은 다시 한번 고구려 군을 방심하게 하려고 사신을 보내 고연수에게 거짓으로 말했다.
"나는 너희 나라의 권력 있는 신하가 임금을 시해한 죄를 물으러 온 것이니, 우리가 서로 전투를 하게 된 것은 나의 본심이 아니다. 너희 나라 경내에 들어오니 마초와 양식이 충분하지 않아 몇 개 성을 빼앗기는 하였으나, 너희 나라가 신하의 예절을 지킨다면 잃었던 성은 반드시 돌려 줄 것이다. "
이미 초전에 승리를 거둔 고연수는 이 말을 믿고, 방심하여 제대로된 수비 태세를 더 갖추지 않았다.

6월21일 밤, 이세민은 문무관을 불러 계책을 의논한 다음, 이세적에게 보병과 기병 1만 5천 명을 주어 서쪽 고개에 진을 치게 하고, 장손무기와 우진달에게 정예군 1만 1천 명을 주어 기습병을 조직하였다. 그들은 산의 북쪽에서 협곡으로 나와 우리 군사의 후면을 공격하게 하고, 이세민은 직접 보병과 기병 4천명을 이끌고 북과 나팔을 옆에 끼고 깃발을 눕혀서 산으로 올랐다. 이세민은 모든 군대에게 북과 나팔 소리가 들리면 일제히 맹공하라고 명령하였으며, 또한 관리에게는 항복받을 장막을 조회당 옆에 설치하도록 명령하였다.

이 날 밤, 유성이 고연수의 고구려 군 진영에 떨어졌다. 6월22일 아침, 마침내 고연수 등은 유인하러 온 이세적, 장손무기의 군사가 적은 것만 보고 군사를 동원하여 공격하려 하였다. 당 태종 이세민은 전방의 고구려 군을 유인하려던 장손무기의 부대에서 먼지가 일어나는 것을 보고는, 북을 치고 나팔을 불며 깃발을 들게 신호를 보내도록 하였다. 이에 따라 당의 모든 군사들이 북을 치고 함성을 지르며 진격하였다. 갑작스러운 당의 대군의 사방에서 몰려들자 고연수는 크게 놀라 군사를 나누어 방어하려 하였다. 그러나 고구려 진영은 사방에서 몰려드는 당군의 공격에 이미 큰 혼란에 빠지고 말았다.
동서고금을 막론하고 포위된 쪽은 거의 일방적인 학살전이 이루어졌다. 카르타고 전쟁때 한니발군이 로마군을 포위에 넣고 일방적인 학살전을 벌였던 칸나에 전투 때도 그랬던 것처럼 삼면이 포위된 고연수의 고구려 군과 말갈군은 거의 일방적으로 몰리고 있었다.

전투 당일 비가 왔던 것으로 추정된다. 사서에는 마침 천둥과 번개가 쳤는데, 당나라 군에서 사병 설인귀가 기이한 복장을 하고, 고함을 치면서 고구려 진영으로 깊숙히 들어왔다고 기록되어 있다. 당나라의 대군이 이 때를 이용하여 공격해왔다. 또한 한 쪽에서는 신라의 골품 귀족 출신이었던 좌무위 과의설계두는 당군의 선봉에서 서서 포위된 고구려 군과 격렬한 전투 중 전사했다. 삼면으로 포위된 고구려 군은 크게 패하였고 고연수, 고혜진은 마침내 당의 공격 포위망을 빠져 동쪽 강가로 다시 돌아왔으나 이미 3만여 명의 사망자가 생겼다.

고연수, 고혜진은 남은 군사를 거느리고 강 건너 고구려 본군으로 합류하려 하였으나 이미 당 태종은 장손무기에게는 교량을 전부 철거하여 고구려 군사의 귀로를 차단하게 하였다. 결국 고구려 본대와 합류하지 못한 고연수, 고혜진은 강을 건너지 못한 채 남은 군을 이끌고 북쪽 산에 의지하여 자체 수비를 강화하였다. 이제 당 태종 이세민은 모든 부대에 명령하여 고구려 군사를 포위하게 하고, 이로써 고구려 군은 완전히 고립되었다.

한편 치열한 전투가 끝나고 당 태종은 신라인 임에도 자국인보다 목숨 바쳐 싸우다 전사한 설계두에 크게 감명받아 측근을 시켜 설계두의 시신에 어의를 덮어주고, 대장군에 추증하고, 예로써 장사를 지내 주었다. 또한 당 태종은 활약이 뛰어났던설인귀의 공을 크게 치하하며 그를 유격 장군으로 임명하였다.

6월23일, 포위된 고연수 고혜진의 고구려 군을 구원하고자 고구려 군이 강을 건너 대공격을 시작했다. 그리고 이에 맞서 고구려 군의 도하를 저지하려던 당나라 군과 큰 교전을 시작된다. 이 때 밀려온 고구려 대군을 맞서기 위해 선봉으로 지휘하던 당나라 좌무위장군 왕군악이 전사할 정도로 전투는 치열했다.

하지만 후방의 고구려 본군은 고립된 고연수와 고혜진의 부대에 도달하지는 못한 것으로 보인다. 포위된 고연수와 고혜진의 부대는 더 이상 버티지 못하고 마침내 남은 군사 3만 6천8백 명을 이끌고 항복하였다. 당 태종 이세민은 욕살 이하의 관장 3천 5백 명을 선발하여 당나라 지역으로 옮기고, 나머지는 모두 석방하여 평양으로 돌아가게 하였으며, 말갈인 3천 3백 명은 전부 생매장하였다. 말 5만필·소 5만두·명광 갑옷 1만 벌을 노획하였으며, 기타의 기자재도 노획하였다. 이세민이 갔던 산의 명칭을 주필산으로 개명하고, 고연수를 홍려경, 고혜진을 사농경에 임명하였다.

당 태종이 이끄는 당나라 군은 아직 후방에 고구려 대군의 일부가 있었지만 안시성 앞 주필산에서 고구려 군을 크게 격파하고 선봉 고연수와 고혜진이 항복하고 3만여 고구려 군이 투항하였다. 이제 당나라 군은 눈 앞의 안시성을 향해 정조준하기 시작한다.

## 안시성 전투
7월5일, 당나라 군은 안시성 동쪽 고개로 이동하였고 부근의 작은 성 후황성과 은성을 공격하여 함락시켰다. 고구려의 대군은 아직 건재하고 있었고 고구려 군과의 전투 중 많은 희생자를 내게 된다. 당측의 사서에는 7월13일 수많은 전사자의 시체에 표식을 하고 이후 일부군대가 퇴각할 때 같이 귀환하도록 하였다.

8월8일 고구려 군의 첩자 고죽리가 당나라 군에 포로로 잡혔다. 이에 따른 구체적인 기록은 없으나 사서에는 이후 고죽리는 다시 당나라 진영을 탈출한 것으로 기록되어 있다. 그리고 8월10일 드디어 당 태종의 당의 대군은 안시성 공격을 시작한다. 이에 안시성 사람들이 당군의 깃발과 일산을 바라보고, 즉시 성에 올라 북을 두드리고 함성을 지르니 당 태종이 크게 분노하였다. 이세적은 성이 함락되는 날 안시성의 남자를 모두 구덩이에 묻어 버릴 것을 황제에게 요청하였다. 안시성 사람들은 이 말을 듣고 더욱 굳게 수비하였다. 당 나라 군사가 오랫동안 공격하였으나 안시성을 함락시킬 수 없었다. 무엇보다 요동성과 개모성 함락에 큰 활약을 보인 당군의 공성 신무기였던 각종 포차들의 활약이 현저히 떨어졌다. 안시성은 평지의 요동성과 달리 산에 의지한 산성이다. 따라서 중국의 중원이나 요동성 같은 평지에서 큰 효과를 발휘했던 신무기의 효과들이 크게 반감되었다.

안시성 공략이 어려워지자, 이때 고연수·고혜진 등이 태종에게 "저희들이 이미 대국에 몸을 맡겼으니, 정성을 바치지 않을 수 없습니다. 천자께서 빨리 큰 공을 이루어 우리가 처자와 만나게 하여 주기를 원합니다. 안시성 사람들은 그의 가족들을 생각하여 자진하여 싸우고 있기 때문에 빨리 함락시키기는 쉽지 않습니다. 저희들은 고구려의 10여 만 명의 병력을 가지고 있었음에도 불구하고, 황제의 깃발을 보는 것만으로 사기가 꺾여 허물어졌으며, 백성들의 간담이 서늘하였습니다. 오골성의 욕살은 늙어서 수비가 견실할 수 없으니, 군사를 옮겨 그곳을 공격한다면, 아침에 도착하면 저녁에는 승리할 것이며, 도중에 있는 여타의 작은 성들은 위풍만 보고도 반드시 허물어질 것입니다. 이러한 연후에 그곳의 자재와 군량을 거두어 북을 울리며 전진하면, 그들은 틀림없이 평양을 지켜내지 못할 것입니다. "라고 하여 안시성 대신 오골성을 직접 공격할 것을 주청하였다. 여러 신하들이 또 말했다.
"장량의 군사가 사성에 있으니, 그를 부르면 이틀이면 올 수 있습니다. 고구려가 두려워 하고 있는 틈을 이용하여, 장 량의 군사와 힘을 합하여 오골성을 함락시키고, 압록강을 건너 곧바로 평양을 빼앗는 것이 이번 일에 달렸습니다. "

지난 번 주필산 전투를 앞두고 고구려 15만 대군과 대치하였을 때 강하왕 이도종의 의견과 비슷하였다. 마침내 마음이 흔들린 당 태종 이세민이 이 말을 따르려 하자 장손무기가 홀로 나서서 다음과 같이 말했다. "천자의 원정은 보통 장수들의 정벌과는 다르다. 따라서 모험을 하면서 요행을 바랄 수는 없다. 지금 건안성과 신성의 무리가 아직도 10만이나 되는데, 우리가 만약 오골성으로 간다면, 고구려 군사들이 반드시 우리의 뒤를 추격할 것이다. 그러므로 먼저 안시성을 점령하고 건안성을 취한 후에 군사를 먼 곳으로 진군시키는 것이 옳다. 이것이 만전의 계책이다. " 장손무기의 말을 듣고 이세민은 곧 앞서의 계획을 중지하였다.

당 태종은 안시성이 만만치 않음을 깨닫고 건안성 패잔병과 이도종, 장검의 군사등을 모두 모았다. 당 태종 친정군과 6도행군 56만도 안시성으로 집결했다. 어느 날 태종은 성 안에서 들리는 닭과 돼지의 소리를 듣고 이세적에게 밤 중 안시성에서의 기습 공격에 대비할 것을 명하였다. 이날 밤, 안시성의 군사 수백 명이 성에서 줄을 타고 내려왔다. 태종은 이 말을 듣고 직접 성 밑에 와서 군사를 소집하여 재빨리 공격하였다. 안시성 군사 중에 사망자가 수십 명이나 되었고, 나머지는 도주하였다.

그럼에도 안시성 공략은 난공불락이었다. 당군은 강하왕 이도종의 건의로 성의 동남 쪽에 토산을 쌓아 점점 성으로 접근해왔다. 성 안에서도 역시 성벽을 더욱 높게 쌓아 굳게 방어하였다. 양군은 하루에도 6, 7회씩 교전하였다. 당나라 군사의 충거와 포석이 누대와 성위의 작은 담을 허물었으나, 성 안에서는 그 때마다 목책을 세워 부서진 곳을 막았다.

당나라는 60일 동안 총인원 50만 명을 동원하여 토산을 쌓았다. 토산이 완성되자, 이 토산의 꼭대기가 성보다 높게 되어 밖에서는 성 안을 내려볼 수 있었다. 이도종이 과의부복애를 시켜 500명의 군사를 거느리고 산정에 주둔하여 적을 대비하게 하였다. 그러던 중에 산이 폭우로 허물어지면서 성을 덮치는 바람에 성의 일부가 무너졌다. 토산이 무너지자 안시성의 군사 수백 명이 성이 허물어진 곳으로 나가 싸워서 마침내 토산을 탈취하여 그곳에 참호를 파고 수비하였다. 태종은 토산을 빼앗기자 진노하여 부복애의 목을 베어 조리를 돌리고, 장수들에게 명령하여 성을 공격하게 하였다. 고구려측 군사 1만, 당군 3만이 전사하였다.

결국 이길 수 없자, 도종이 맨발로 황제의 깃발 아래 가서 죄를 청했다. 이에 태종은 이도종에게 "너의 죄는 죽어 마땅하지만, 나는 전한 무제가 왕회를 죽인 것이 진 목공이 맹명을 등용한 것만 못하다고 생각하고 있으며, 또한 너는 개모성과 요동을 점령한 공로가 있기 때문에 특별히 용서한다. "라고 하였다.

이날 토산 전투, 그리고 그 뒤 펼쳐진 토산 쟁탈전에서 당군 수만명이 목숨을 잃었고 고구려의 피해도 만만치 않았다. 또 3일간의 토산 쟁탈전 이전의 석달간 공방전에서 당군은 하루 2~3천의 피해를 입었다고 전해진다. 하루 피해인원을 평균 2500이라 쳐도 무려 20만이 넘는 사상자를 낸 것이었다. 고구려측도 안시성 군사 중 요서전에 따라갈 수 있을만한 인원이 3만이 채 안되었다고 한다. 전투는 그만큼 치열했는데, 당 태종이 안시성주 양만춘의 화살에 맞아 한쪽 눈을 잃었다는 야설도 있다. 당의 공격을 막아낸 안시성의 성주에 대하여 역사서에는 어떠한 자료도 없이 그냥 "안시성의 성주"로만 기록되고 있었다. 특히 삼국사기의 저자 김부식은 안시성주에 대해 크게 칭송하면서 이름이 남아있지 않은 것을 한탄하였다. 그러나 조선 시대 송준길의 동춘당선생별집과 박지원의 열하일기에는 안시성 성주의 이름을 "양만춘" 혹은 "양만춘"이라고 밝히고 있다.

## 당나라의 퇴각과 평가
645년 9월 28일 마침내, 당 태종은 요동이 추워지고, 병사들과 군마를 관리하기 힘든 것과 군량이 떨어질 것을 예측하여 군대의 철수를 명령하였다.
9월20일, 당나라 군은 점령하고 있었던 요동성에 도착하였고 9월11일, 당나라 군대는 요택으로 달아났다. 당나라 군대가 선택할 수 있는 퇴각로는 3개가 있는데, 요하 하구는 고구려 건안성이 버티고 있어 갈 수가 없다. 따라서 당나라 군대는 진흙밭인 요택을 건너는게 아닌 요하 중류로 가야만 했다. 하지만 당나라 군대는 이 길을 가지 않았다. 이는 요동 지역의 고구려 군을 의식한 것이라고 추측된다. 태종은 이세적과 이도종에게 명령하여 보병과 기병 40만을 이끌고 후군으로 서게 하였다. 그들이 요동에 이르러 요수를 건너려 하였다. 그러나 습지 때문에 수레와 말이 통과할 수 없었다. 태종은 장손무기에게 명령하여 1만 명의 군사로 하여금 풀을 베어 진흙길을 메우게 하고, 물이 깊은 곳에서는 수레를 다리로 삼아 건너도록 하였다. 태종이 직접 말채찍으로 나무를 묶어 이 일을 도와 주었다.

겨울 10월, 태종은 포구에 이르러 말을 멈추고, 진흙길 메우는 작업을 독려하였다고 좋게 말했지만, 이세민 조차 나서지 않을 정도로 심각한 사지를 건너고 있었다. 20일동안의 퇴각은, 바람과 눈이 휘몰아쳐 군사들의 옷이 젖고 폭풍과 눈 엄청난 추위에 동사하여 죽은 군사가 매우 많고 소, 말 100마리중 70~80마리가 죽는 참담한 결과를 초래했다. 혹자는 고구려 군이 후미를 공격해 피해를 입은 것을 모두 추위때문에 죽었다고 핑계한다며 비판하기도 한다.

당 태종은 퇴각하는 길에서 "만일 위징이 있었다면, 나로 하여금 이번 원정을 못하게 하였으리라. "라고 말하였다. 이때 당 태종의 퇴각에 관련하여 많은 이견이 있는데, 근대의 역사학자인 신채호는 태종이 패전의 수치를 감추고자 일부러 자신들의 전과를 부풀리고, 피해는 최소화하였다고 비판하였다. 또한 신채호는 조선상고사에서 연개소문이 베이징 일대 또는 중국 내륙까지 당 태종을 추격했다고 주장했다.

그러나 이를 두고 한국의 역사학계에서는 당나라 군이 퇴각로를 함락시킨 요동성 일대로 하지 않고, 진펄지대인 요택으로 한 점과 많은 양식을 이전에 고구려에게서 탈취하였는데, 군량미가 떨어진다는 것을 핑계로 당군이 서둘러 퇴각한 점. 그리고 황제가 직접 퇴각을 도왔다는 점과 자신들의 구체적인 피해상황은 정확히 하지 않은 점을 들어 이 전쟁을 당나라의 패배로 보고 있다. 일각에서는 퇴각로가 요동 주요 성을 우회한 것으로 보아서 이 당시 고구려 군이 요동성 등 10성을 회복했을 것이라고도 한다.

한편, 항복한 고연수는 항복한 뒤로부터 항상 분개하고 한탄하다가, 얼마 후에 홧병으로 죽고, 고혜진은 결국 장안에 도착하였다.

## 누락된 전쟁 기록의 의문
고구려가 멸망을 한 이유도 있지만, 고구려 관련된 기록은 현재 거의 남아있지 않고 대부분 중국측 사서 에만 의존하고 있고 또 그것을 바탕으로 쓴 삼국사기정도의 사서에 의존하고 있으며 최근 발견되고 있는 고구려 유민 묘비명을 통해 추정만을 하고 있다. 중국측 역사서는 대부분 승전한 기록 등은 다소 과장하는 측면도 있고 패전한 기록은 기록하지 않고 누락시키는 경우가 많다.

또한 중국측 사서에 의존 하다보니 후대에 전해지는 고구려인들 또한 대부분 중국측에 항복 혹은 포로로 잡혔던한 인물들, 즉 손대음·고연수·고혜진·고돌발 등의 인물들 만이 기록에 남아 있다. 제1차 고구려-당 전쟁에서 중국 측 사서에 기록되어 있는 당에 투항하지 않은 고구려측의 장군, 지휘관은 단지 이름만이 전해지는 주필산 전투의 대대로고정의만이 전해질 뿐이다.
이것은 이후 벌어지는 고구려 멸망 때까지 고구려-당 전쟁 동안 계속 이어지며 이후 결국 중국 당나라에 투항한 인물들, 즉 연개소문의 아들 연남생과 그의 자손들, 묘비명으로 밝혀진 고구려 유민 고질·고현·고족유·이타인 등 만이 전해진다.

전쟁과 관련되어서도 누락 또는 전과가 과장되거나 의문스러운 기록도 많다. 당 태종의 당군이 요동성을 함락한 이후 주필산 전투 때까지 상당한 시간의 지체가 있는데 이것에 대한 기록이 없으며 이후 벌어진 끝까지 함락되지 않은 신성 및 건안성 전투의 기록도 생략되어 있으며  후대에 안시성 전투 때문에 잘알려진 주필산 전투 또한 전투 초기의 당군의 승리한 부분만이 남아 있고 이후의 기록이 전혀 없다. 현대의 학자들은 당시 정예 당나라의 대군이 단지 안시성을 함락시키지 못해서 회군하지 않았을 것으로 추측하고 있다. 주필산 전투같은 양 측 수십만이 격돌한 큰 전투에서 남아있는 기록은 단지 초전에 고연수, 고혜진이 항복한 기록뿐이기 때문이다.