나·당 동맹이 체결된 이후에도 당은 단독으로 고구려를 침략하였다. 고구려를 제압하면 백제와 신라를 자연스럽게 복속할 수 있을 것이라고 생각했기 때문이다. 그리하여 백제의 공격에 시달리는 신라에 대해 방관한 채 고구려 공격에 집중하였다. 그러나 당은 뜻을 이루지 못하였고, 신라의 요구대로 먼저 백제를 공격하기로 결정하였다. 이때 당은 신라의 분열을 은근히 도모하는 한편 백제에 대한 지배권을 장악하려고 시도하였다. 이에 당은 사비성 함락 후 의자왕을 비롯한 1만 2천 명의 백제인을 잡아갔고, 백제 영토의 요충지에 웅진도독부를 설치하였다. 신라는 이러한 당의 속셈을 간파하고 있었다. 다만, 당과의 결전을 고구려 멸망 이후로 예상하고 우선 백제 부흥 운동을 진압하는 데 총력을 기울였다. 그리하여 663년 무렵 주류성, 임존성 등을 제외하고 백제 부흥군 세력은 거의 소멸되었다.
한편, 당은 신라를 계림 도독부로 삼고 문무왕을 계림 대도독으로 임명하였다(663). 신라를 당의 일개 행정 구역으로 삼으려 했음을 알 수 있다. 그 후 의자왕의 아들 부여융을 귀국시켜 웅진도독으로 임명하고, 신라 문무왕과 화친을 맺도록 강요하였다. 이러한 가운데 신라는 당과의 결전을 준비하였다. 이에 고구려 정벌에 참가는 하되 전력을 아껴서 고구려 멸망 후의 상황에 대비하였다. 예상대로 고구려 멸망 후 당의 신라 공격이 시작되었다. 신라는 민심을 수습하는 한편 고구려 부흥 세력을 배후에서 지원하며 당의 공격에 대응했다. 고구려 유민을 이끌고 남하한 안승을 금마저(익산)에 자리 잡게 하고 고구려왕(훗날 보덕국왕(報德國王)으로 개봉)으로 봉했다(670). 또한, 부여융의 백제군과 당군을 격파하고 사비성을 함락시킨 다음, 소부리주를 설치하여 백제 지역에 대한 지배권을 장악했다.
당은 문무왕의 동생인 김인문을 일방적으로 신라왕에 임명하고 신라를 침략했다. 그러나 신라가 대부분의 전투에서 승리하고, 매소성과 기벌포 전투에서 압승을 함으로써 7년간의 나·당 전쟁은 막을 내렸다. 이로써 당의 한반도 지배 야욕은 좌절되었고, 신라는 대동강에서 원산만 이남에 대한 지배권을 확립하면서 민족 문화 융합의 의미를 담은 삼국 통일의 염원을 이룩하였다.