고려에 말과 모피를 바치던 여진은 12세기 초 완옌부를 중심으로 뭉쳐 고려 국경을 압박했다. 1104년 고려군은 기병이 강한 여진에 패했다. 윤관은 기병 부대 신기군, 보병 부대 신보군, 승려로 이루어진 항마군으로 짜인 특별 부대 별무반을 만들었다.
1107년 윤관은 17만 대군을 이끌고 여진을 몰아낸 뒤 함흥 일대 등지에 9개의 성을 쌓았다. 그러나 여진이 끈질기게 공격하며 성을 돌려 달라고 애원하고, 넓은 지역을 지키기가 어려워지자 고려는 1109년 9성을 돌려주었다. 9성의 정확한 위치는 함흥 평야 일대로 보는 견해와 두만강 너머까지 보는 견해 등이 맞서 있다.
힘을 키운 여진은 1115년 금나라를 세우고 1125년 거란을 멸망시켰으며, 1127년에는 송의 수도까지 함락했다. 금이 고려에 신하의 예를 요구하자, 당시 권력을 쥔 이자겸은 전쟁을 피하려고 이를 받아들였다.