제1차 고구려-당 전쟁 제1차 여당전쟁
당태종은 안시성이 만만치 않음을 깨닫고 건안성 패잔병(장량의 6만의 수군)과 이도종, 장검의 군사등을 모두 모았다. 당태종 친정군과 6도행군 56만도 안시성으로 집결했다. 어느 날 태종은 성 안에서 들리는 닭과 돼지의 소리를 듣고 이세적에게 밤 중 안시성에서의 기습 공격에 대비할 것을 명하였다. 이날 밤, 안시성의 군사 수백 명이 성에서 줄을 타고 내려왔다. 태종은 이 말을 듣고 직접 성 밑에 와서 군사를 소집하여 재빨리 공격하였다. 안시성 군사 중에 사망자가 수십 명이나 되었고, 나머지는 도주하였다.
그럼에도 안시성 공략은 난공불락이었다. 당군은 강하왕 이도종의 건의로 성의 동남 쪽에 토산을 쌓아 점점 성으로 접근해왔다. 성 안에서도 역시 성벽을 더욱 높게 쌓아 굳게 방어하였다. 양군은 하루에도 6, 7회씩 교전하였다. 당나라 군사의 충거와 포석이 누대와 성위의 작은 담을 허물었으나, 성 안에서는 그 때마다 목책을 세워 부서진 곳을 막았다.
당나라는 60일 동안 총인원 50만 명을 동원하여 토산(土山)을 쌓았다.토산이 완성되자, 이 토산의 꼭대기가 성보다 높게 되어 밖에서는 성 안을 내려볼 수 있었다. 이도종이 과의(果毅)부복애(傅伏愛)를 시켜 500명의 군사를 거느리고 산정에 주둔하여 적을 대비하게 하였다. 그러던 중에 산이 폭우로 허물어지면서 성을 덮치는 바람에 성의 일부가 무너졌다. 토산이 무너지자 안시성의 군사 수백 명이 성이 허물어진 곳으로 나가 싸워서 마침내 토산을 탈취하여 그곳에 참호를 파고 수비하였다. 태종은 토산을 빼앗기자 진노하여 부복애의 목을 베어 조리를 돌리고, 장수들에게 명령하여 성을 공격하게 하였다. 고구려측 군사 1만, 당군 3만이 전사하였다.
결국 이길 수 없자, 도종이 맨발로 황제의 깃발 아래 가서 죄를 청했다. 이에 태종은 이도종에게 "너의 죄는 죽어 마땅하지만, 나는 전한 무제가 왕회를 죽인 것이 진 목공이 맹명을 등용한 것만 못하다고 생각하고 있으며, 또한 너는 개모성과 요동을 점령한 공로가 있기 때문에 특별히 용서한다."라고 하였다.
이날 토산 전투, 그리고 그 뒤 펼쳐진 토산 쟁탈전에서 당군 수만명이 목숨을 잃었고 고구려의 피해도 만만치 않았다. 또 3일간의 토산 쟁탈전 이전의 석달간 공방전에서 당군은 하루 2~3천의 피해를 입었다고 전해진다. 하루 피해인원을 평균 2500이라 쳐도 무려 20만이 넘는 사상자를 낸 것이었다. 고구려측도 안시성 군사 중 요서전에 따라갈 수 있을만한 인원이 3만이 채 안되었다고 한다. 전투는 그만큼 치열했는데, 당 태종이 안시성주 양만춘의 화살에 맞아 한쪽 눈을 잃었다는 야설도 있다. 당의 공격을 막아낸 안시성의 성주에 대하여 역사서에는 어떠한 자료도 없이 그냥 "안시성의 성주"로만 기록되고 있었다. 특히 《삼국사기》의 저자 김부식은 안시성주에 대해 크게 칭송하면서 이름이 남아있지 않은 것을 한탄하였다. 그러나 조선 시대 송준길(宋浚吉)의 《동춘당선생별집》과 박지원의 《열하일기》에는 안시성 성주의 이름을 "양만춘(梁萬春)" 혹은 "양만춘(楊萬春)"이라고 밝히고 있다.
645년 9월 18일 마침내, 당 태종은 요동이 추워지고, 병사들과 군마를 관리하기 힘든 것과 군량이 떨어질 것을 예측하여 군대의 철수를 명령하였다.
9월20일, 당나라군은 점령하고 있었던 요동성에 도착하였고 9월21일, 당나라 군대는 요택으로 달아났다. 당나라 군대가 선택할 수 있는 퇴각로는 3개가 있는데, 요하 하구는 고구려 건안성이 버티고 있어 갈 수가 없다. 따라서 당나라 군대는 진흙밭인 요택을 건너는게 아닌 요하 중류로 가야만 했다. 하지만 당나라 군대는 이 길을 가지 않았다. 이는 요동 지역의 고구려군을 의식한 것이라고 추측된다. 태종은 이세적과 이도종에게 명령하여 보병과 기병 4만을 이끌고 후군으로 서게 하였다. 그들이 요동에 이르러 요수를 건너려 하였다. 그러나 습지 때문에 수레와 말이 통과할 수 없었다. 태종은 장손무기에게 명령하여 1만 명의 군사로 하여금 풀을 베어 진흙길을 메우게 하고, 물이 깊은 곳에서는 수레를 다리로 삼아 건너도록 하였다. 태종이 직접 말채찍으로 나무를 묶어 이 일을 도와 주었다.
겨울 10월, 태종은 포구에 이르러 말을 멈추고, 진흙길 메우는 작업을 독려하였다고 좋게 말했지만, 이세민 조차 나서지 않을 정도로 심각한 사지(死地)를 건너고 있었다. 20일동안의 퇴각은, 바람과 눈이 휘몰아쳐 군사들의 옷이 젖고 폭풍과 눈 엄청난 추위에 동사하여 죽은 군사가 매우 많고 소,말 10마리중 일고여덟마리가 죽는 비참한 결과를 초래했다. 혹자는 고구려군이 후미를 공격해 피해를 입은 것을 모두 추위때문에 죽었다고 핑계한다며 비판하기도 한다.
당태종은 퇴각하는 길에서 "만일 위징이 있었다면, 나로 하여금 이번 원정을 못하게 하였으리라."라고 말하였다. 이때 당 태종의 퇴각에 관련하여 많은 이견이 있는데, 근대의 역사학자인 신채호는 태종이 패전의 수치를 감추고자 일부러 자신들의 전과를 부풀리고, 피해는 최소화하였다고 비판하였다. 또한 신채호는 《조선상고사》에서 연개소문이 베이징 일대 또는 중국 내륙까지 당 태종을 추격했다고 주장했다.
그러나 이를 두고 한국의 역사학계에서는 당나라군이 퇴각로를 함락시킨 요동성 일대로 하지 않고, 진펄지대인 요택으로 한 점과 많은 양식을 이전에 고구려에게서 탈취하였는데, 군량미가 떨어진다는 것을 핑계로 당군이 서둘러 퇴각한 점. 그리고 황제가 직접 퇴각을 도왔다는 점과 자신들의 구체적인 피해상황은 정확히 하지 않은 점을 들어 이 전쟁을 당나라의 패배로 보고 있다. 일각에서는 퇴각로가 요동 주요 성을 우회한 것으로 보아서 이당시 고구려군이 요동성 등 10성을 회복했을것이라고도 한다.
한편, 항복한 고연수는 항복한 뒤로부터 항상 분개하고 한탄하다가, 얼마 후에 홧병으로 죽고, 고혜진은 결국 장안에 도착하였다.
고구려가 멸망을 한 이유도 있지만, 고구려와 관련된 기록은 현재 거의 남아 있지 않고 대부분 중국측 사서 (구당서, 신당서, 자치통감 등)에만 의존하고 있고 또 그것을 바탕으로 쓴 삼국사기 정도의 사서에 의존하고 있으며 최근 발견되고 있는 고구려 유민 묘비명을 통해 추정만을 하고 있다. 중국측 역사서는 대부분 승전한 기록 등은 다소 과장하는 측면도 있고 패전한 기록은 기록하지 않고 누락시키는 경우가 많다.
또한 중국 측 사서에 의존 하다보니 후대에 전해지는 고구려인들 또한 대부분 중국측에 항복 혹은 포로로 잡혔던 인물들, 즉 손대음, 고연수, 고혜진, 고돌발 등의 인물들만이 기록에 남아 있다. 1차 고구려-당 전쟁에서 중국 측 사서에 기록되어 있는 당에 투항하지 않은 고구려측의 장군, 지휘관은 단지 이름만이 전해지는 주필산 전투의 대대로 고정의만이 전해질 뿐이다.
이것은 이후 벌어지는 고구려 멸망 때까지 고구려-당 전쟁 동안 계속 이어지며 이후 결국 중국 당나라에 투항한 인물들, 즉 연개소문의 아들 연남생과 그의 자손들, 묘비명으로 밝혀진 고구려 유민 고질, 고현, 고족유, 이타인 등 만이 전해진다.
전쟁과 관련되어서도 누락 또는 전과가 과장되거나 의문스러운 기록도 많다. 당태종의 당군이 요동성을 함락한 이후 주필산 전투 때까지 상당한 시간의 지체가 있는데 이것에 대한 기록이 없으며 이후 벌어진 끝까지 함락되지 않은 신성 및 건안성 전투의 기록도 생략되어 있으며 (신성,건안성 전투는 주필산전투와 이후 667년의 금산전투와 더불어 당나라 초기 고구려와의 4대전투 중의 하나로 기록될 정도의 큰 전투이다) 후대에 안시성 전투 때문에 잘알려진 주필산 전투 또한 전투 초기의 당군의 승리한 부분만이 남아 있고 이후의 기록이 전혀 없다. 현대의 학자들은 당시 정예 당나라의 대군이 단지 안시성을 함락시키지 못해서 회군하지 않았을 것으로 추측하고 있다. 주필산 전투같은 양 측 수십만이 격돌한 큰 전투에서 남아있는 기록은 단지 초전에 고연수, 고혜진이 항복한 기록뿐이기 때문이다.
신채호는 중국의 야사 및 전설과 베이징 인근의 고구려와 관련된 지명을 근거로 삼아 연개소문이 도망 가는 당태종을 추격하였다고 주장했다. 또한 중국에는 다음과 같은 야사 및 전설이 전해지고 있다.
강소성 염성의 전설 :염성 건호현에는 몽롱탑(朦朧塔)의 전설이 내려오고 있다. 이는 당 태종이 연개소문에게 쫓겨 달아나다가 거미줄이 쳐진 빈 우물에 숨어 살아났는데 나중에 이 은공을 잊지 못해 그 우물이 있는 곳에 탑을 세웠다고 한다. 어둡고 어려움(朦)에 처해 있을 때 우물 속 거미줄이 몸을 보호해 줘 목숨을 건진대서 몽롱이라는 단어가 생겨났다고 한다.