본 연구는 666년 6월 남생이 당으로 투항하면서 시작되어 668년 9월 평양성이 함락될 때까지 약 2년 여에 걸친 고구려와 당 사이의 전쟁 과정을 복원하려는 연구이다. 이 전쟁의 결과 고구려가 멸망하였다는 점에서 중요한 전쟁이지만, 본격적인 연구는 아직 빈약하다. 게다가 관련 자료가 소략하고 자료 사이에 불일치가 많아 전체적인 전쟁의 흐름을 이해하기에 혼란스럽다. 본 연구는 관련 자료에 대한 엄격한 사료 비판을 통해 착종된 전쟁 과정을 복원하고자 한다. 본 연구에서 새로 밝힌 점은 다음과 같다. 666년 6월 국내성에 있는 남생을 구원하기 위해 진공한 당의 1차 원정군은 신성을 공격하였는데, 기존의 연구와 달리 본 연구에서는 金山 전투가 이때 일어난 전투로 논증하였고, 이 전투를 당 정부가 고구려에 대한 본격적인 공격을 결정하게 되는 계기로 파악하였다. 그 결과 당 정부는 12월에 대규모 원정군을 구성하였다. 그리고 이 해에는 아직 국내성의 남생과 조우하지 못한 것으로 추정하였다. 667년 2월부터 당의 원정군은 3 경로로 고구려 공격에 나섰는데, 『삼국사기』 지리지4 ‘목록’에 근거하여 당군의 진격 경로를 추정하였다. 주력인 이적의 군대는 新城을 공격하였고, 학처준의 군대는 안시성 혹은 요동성 방면을 공격하였는데, 이는 신성에 대한 고구려군의 지원을 막기 위한 전략이었다. 또 곽대봉이 거느린 수군은 積利城 등 요동반도 남쪽 해안 일대를 공격하였음을 확인하였다. 그리고 9월 신성을 함락시킨 이적군은 10월 초에 압록강 방면으로 진격하였으나 압록강 전선을 돌파하지 못하고, 11월에 신성과 국내성으로 회군하여 越冬하였다. 668년 2월에 당군은 신성 북방의 扶餘城을 공략하였고, 사료에는 부여성을 구원하기 위해 고구려군이 진공한 것으로 기록하고 있으나, 이때 고구려군이 압록강 방어선을 강화하기 위해 오골성 방면으로 진격하였다가 살하수 전투에서 패배하였다고 추정하였다. 그리고 이후 고구려군은 압록책을 구축하고 당군은 결집하여 압록강 방어선에서 대결하였는데, 당군은 수개월간 지속된 전선의 고착화를 타개하기 위해 6월에 고구려 남부 전선에 신라군을 동원하였고, 남북으로 군사력이 분산되면서 고구려의 압록강 방어선이 무너졌다.