1011년 1월 1일, 개경 시민들은 평생 잊지 못할 설날을 맞이했다. 고려를 침공한 거란군이 개경으로 입성했기 때문이다. 거란군은 1, 2일 먼저 개경에 들어올 수도 있었는데, 일부러 새해 첫날에 맞춰 입성했다. 거란의 황제 성종도 이 대열에 있었다. 그는 한국의 수도를 방문한 첫 번째 중국 황제가 되었다(두 번째는 병자호란 때의 청태종이다).
이날의 방문식은 피와 비명으로 얼룩졌다. 신년 첫날을 기념하여 거란군은 신나게 개경을 분탕질하고 왕궁을 불태웠다. 이 약탈이 얼마나 대단했는지 거란의 역사책에도 기록되었을 정도다. 고려 전기의 역사와 문서 기록, 고려가 후삼국을 통일하면서 모아놓은 삼국 시대의 보물도 불타거나 약탈당했다. 신라의 세 가지 보물 중 하나라고 하는 진평왕의 황금옥대(실제로는 청동기 제품으로 청동에 금을 도금하고 구슬로 장식한 옥대였다)도 이때 사라졌다.
성종이 질펀하게 신년을 즐기는 동안 고려 국왕 현종은 나주로 피난하고 있었다. 그의 피난길은 고생스럽다 못해 잔혹했다. 고려 왕조는 안정을 찾지 못했고, 지방에는 후삼국의 감정이 여전히 남아 있었다. 현종은 가는 곳마다 박대를 받았다. 일행은 굶주렸고, 지방민은 폭도로 변해 왕의 보물을 약탈하기 위해 또는 선조의 복수를 하겠다며 국왕 일행에게 덤벼들었다.
1010년 11월 거란군 40만이 압록강을 넘었다. 정말 40만이었는지는 의심스럽지만, 수나라와 당나라의 고구려 침공 이래 최대 규모의 침략이었다. 이론적으로 보면 거란군은 고려 땅에서는 고전을 해야 정상이었다. 거란은 만주 북부, 만주와 몽고의 접경인 초원 지대에 살던 유목민이다. 훗날 몽고군이 거란군의 전술을 본받았다고 말할 정도로 그들은 기병의 속도와 궁술을 이용한 기동전에 강했다. 대신에 기동력을 살리기 위해서는 장갑을 가볍게 해야 했으므로 중장기병을 이용한 충격 작전이나 기계와 장비를 동원해야 하는 싸움, 혹은 성 주위에 죽치고 앉아서 장기전을 해야 하는 공성전에는 약했다.
한반도의 경우, 넓은 초원은 적고 산과 골짜기로 가득하다. 그 산마다 산성이 세워져 있고, 고려군은 평지에서 벌이는 야전보다는 산과 산성을 이용한 수성전을 장기로 했다. 강적이 쳐들어오면 마을과 평야에서 사람과 식량을 비우고 요새로 들어가 농성전을 폈다. 성을 지키는 능력은 중국인들도 고려인의 장기로 인정할 정도로 강했다.
이런 저런 사정을 보면 거란군은 이 땅에서 고전해야 마땅했다. 계절도 한 겨울이었다. 얼어붙은 땅에는 풀 한 포기 없고, 북부의 산악 지방은 체감 온도가 영하 20∼30도까지 쉽게 내려갔다. 그러나 거란군은 고전할 것이라는 예상을 깨고 침공 2개월도 되지 않아 개경으로 입성했다.
여기에는 두 가지 이유가 있었다. 고려의 총사령관이었던 강조는 고려의 전통적 장기인 수성전을 무시하고, 통주성(현재의 평안북도 선천)에서 거란군과 정면 대결을 벌이다가 단 하루 전투로 고려의 주력을 몰살시켜 버렸다. 왜 강조가 고려의 전통적 전술을 무시하고 이런 성급한 결전을 벌였는지는 현재까지도 미스터리이다. 무모하다 싶을 정도로 지나치게 용감했거나, 아니면 결전을 서둘러야 할 말 못할 사정이 있었다고 보인다. 그 숨은 사정은 정치적 상황과 관련이 있다. 강조는 선왕인 목종을 살해하고 정권을 잡았다. 어린 현종을 세우고, 최고 권력자가 되었지만, 자기 권력 기반을 다지기 전에 거란이 침공해 들어왔다. 자신이 직접 대군을 이끌고 결전을 벌인 이유도 불안해서 다른 사람에게 군대를 맡길 수가 없었기 때문이다. 그렇기 때문에 전쟁을 오래 끌기도 불안했을 것이다.
또 하나의 이유는 거란군의 숨은 능력이었다. 흔히 유목기병이라고 하면 평지에서 말이나 잘 타는 민족인 줄 알고 있지만, 그 외에도 여러 가지 숨은 능력이 있다. 우선 그들은 더위와 추위에 모두 강하다. 몽고 초원은 겨울에는 영하 40도까지도 떨어진다. 불을 피워도 견딜 수 없는 혹한이 밀려오면 그들은 말을 끼워 붙이고 그 사이에서 잠을 잔다. 고려는 청야전술(淸野戰術·주변에 적이 사용할 만한 모든 군수 물자와 식량 등을 없애 적군을 지치게 만드는 전술)을 사용했지만 말은 탈 것인 동시에 식량 제조기이기도 하다. 말젖은 며칠 분의 비상식량을 제공하고, 말 한 마리가 죽으면 수백 킬로그램의 고기가 나온다. 전쟁과 행군을 계속하면 어쩔 수 없이 죽는 말들이 발생한다. 기병은 최소한 1인당 3마리 이상의 말을 끌고 다녔다.