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

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

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

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

한편, 항복한 고연수는 항복한 뒤로부터 항상 분개하고 한탄하다가, 얼마 후에 홧병으로 죽고, 고혜진은 결국 장안에 도착하였다.
요동이 추워지는 틈을 타 당 태종이 병사들에게 진격을 명령했던 시기는?
645년 9월 18일