거란족은 916년 요를 세우고 만리장성 남쪽의 연운 16주까지 차지했다. 송은 요를 이기지 못하고 1005년 전연의 맹약으로 해마다 비단과 은을 보내는 대신 평화를 얻었다. 같은 시기 요는 고려도 세 차례 침입했으나, 서희의 외교 담판(993)과 강감찬의 귀주대첩(1019)으로 물러났다.
12세기 초 만주의 여진족 아구다가 1115년 금을 세웠다. 송은 금과 손잡고 요를 협공해 1125년 요를 멸망시켰지만, 곧 금이 송을 공격했다. 1127년 금군이 수도 개봉을 함락하고 두 황제를 포로로 끌고 갔다(정강의 변).
황족 한 사람이 남쪽으로 내려가 송을 이었고, 항저우(임안)를 수도로 삼았다. 이를 남송이라 한다. 1142년 무렵 화이허강을 경계로 금과 화의를 맺었다. 북쪽을 잃었지만 남송은 바다 무역과 강남 개발로 오히려 경제가 번성했고, 주희가 성리학을 완성해 훗날 조선의 통치 이념이 되었다.