고려군은 1216년 9월 거란유민군과의 전투였던 원림(原林)·개평(開平)·묵장(墨匠)·향산(香山) 전투에서 큰 전과를 얻었다. 그러나 1217년 초부터는 적군의 남하를 막지 못하고 크게 고전하였다. 특히 원주 백성들의 끈질긴 방어노력에도 불구하고 원주성이 함락되었는데, 이는 고려군으로서는 막대한 손실이었다.
그러나 중군병마사(中軍兵馬使) 최원세(崔元世)와 전군병마사(前軍兵馬使) 김취려(金就礪)가 지휘하는 2군이 크게 활약하였다. 고려군은 거란군을 원주와 충주 사이에 있는 황려현(黃驪縣: 지금의 경기도 여주시)의 법천사(法泉寺)까지 몰아붙여 대승을 거두었다. 여기에서 쫓긴 거란군은 제주의 냇가까지 패주하니, 흘러가는 시체가 내를 덮어 떠내려갔다고 한다.
고려군은 다시 사흘에 걸쳐 박달현까지 쫓아갔는데, 이 때 가발병마사(加發兵馬使) 임보(任輔)도 합세해 전력이 더욱 강화되었다. 이 전투에서 최원세는 산 아래에 진을 치자고 했으나, 산의 정상부에 진을 치자고 한 김취려의 의견에 따라 고개 위에 군사를 배치하였다.
과연 거란의 수만 명 병사는 새벽에 고개 남쪽으로 진군해 좌우의 봉우리를 두 패로 나누어 올라와서 중요거점을 빼앗으려 하였다. 이에 최원세 등은 장군 신덕위(申德威)·이극인(李克仁)에게 왼쪽을 담당하게 하고, 최준문(崔俊文)·주공예(周公裔)에게 오른쪽을 담당하게 하였다. 최원세와 김취려가 가운데서 북을 치며 기세를 올리니 군사들이 모두 죽기를 무릅쓰고 싸웠다.
3군이 바라보다가 또한 큰 소리를 지르며 앞다투어 쳐들어가니, 적이 크게 무너졌다. 거란군은 노약한 남녀와 병기·물자를 버리고, 남쪽을 포기한 채 동쪽의 명주 대관산령(大關山嶺)을 넘어 달아났다.