고구려는 동맹국인 백제가 멸망해 이제는 신라, 당나라, 양쪽에서 압박을 받으며 고립상태가 되었다. 당 태종이 절대로 고구려를 공격하지 말라는 유언을 남겼다지만 애초에 고종은 자신의 아버지인 당 태종이 고구려군에 패퇴되고 그 전쟁에서 병을 얻어 사망했기 때문에 고구려에 대해 강한 증오심을 가지는 것도 당연했다. 때 마침 655년에 고구려와 백제가 연합해 신라를 공격하여 33개 성을 빼앗아 신라의 김춘추가 구원병을 요청하자 고구려의 뒤통수를 치기위해 국경지역인 요하에 도착해 선제공격을 했지만 패퇴하였고 659년에 재차 공격했지만 성과없이 퇴각한다. 그러다가 660년 백제를 멸망시키는 데 성공하자 고구려를 고립시켰다 판단하고 이는 곧 정벌할 수 있는 기회라고 생각한 고종은 661년 정월에 4만 4천 명의 병력을 이끌고 요하지역에 도착해 공격하고자 했지만 이때 백제부흥군이 나,당 연합군 진영에 선제공격을 가하여 혼란에 빠지자 고구려 공격 시기를 늦추게 된다.

그리고 마침내 그해 8월 고종은 이적을 패광도대행대총관, 정명진을 누방도행군, 계필하력을 요동도행군, 소정방을 평양도행군, 임아상을 패강도행군, 방효태를 옥저도행군으로 임명하고 당나라 67개 지방에서 집결된 대규모 병력을 고구려의 신성과 부여성으로 각각 진격시킨다. 군사 수치에 대해서는 기록이 안되어 있지만 출전한 장수들의 기록을 고려할 때 약 35만 명으로 추측되고 있다.
그들의 목적지는 고구려의 부수도인 평양성 이었다. 그곳에는 고구려왕인 보장왕이 머물러있기 때문이다.

소정방은 이적, 정명진, 임아상, 설인귀 등 다른 장수들이 각각 부여성과 신성을 공격해 고구려군을 눈돌리게 한 사이 샛길로 빠져나가 평양성으로 진격하여 단숨에 함락시킬 계획을 세운다. 그러나 평양성은 외곽, 외성, 내성 등 3중 구조로 되어있어 워낙견고하여 함락이 쉽지않았다. 이로인해 장기전으로 이어진다. 그리고 고구려군에 의해 보급로가 끊기고 군량미가 떨어지는 상황에서 겨울이 다가오자 싸울 힘이 없게된 소정방과 그의 군사는 때마침 도착한 김유신이 이끄는 신라군의 군량미로 밥을 먹고 황급히 퇴각한다.

다른 진영에서도 별반 다를 게 없었다. 계필하력은 압록강 인근까지 진격했지만 연개소문의 장남인 남생 휘하의 고구려군의 저항으로 건너가지도 못하여 퇴각했고 이적과 정명진은 고구려의 최북방의 요새인 부여성을, 임아상과 설인귀는 신성을 1년이 넘도록 함락시키지 못했으며 특히 662년 방효태가 이끄는 4만 군사가 사수전투에서 그의 아들 12명과 함께 연개소문이 이끄는 고구려군에 의해 몰살이 되었다.
결국 계속된 패배로 전의를 완전히 상실한 당나라군은 퇴각하고 만다.

동맹국인 신라군 또한 김유신을 앞세워 평양성 인근까지 도달했지만 남산과 남건이 이끄는 고구려군의 저항으로 소정방에게 군량비만 넘긴채 별다른 성과없이 퇴각한다.

고종은 이렇게 많은 병력을 동원했지만 연개소문아래 일사불란하게 움직이는 고구려군에게 참패를 당하고만 것이다.
고구려에 크게 지고 그 전쟁때문에 병이나서 죽은 당나라 왕은?
당 태종