自“高梁河之役”以後,十分鬱悶的宋太宗一直處心積慮為再次北征以收複燕雲地區做著準備,欲挽回自己“聖主明君”的名聲。宋太宗有一次與近臣議論幽州形勢時曾指出:幽州四麵平川,無險固守,難於控扼。他時收複燕、薊,當於古北口諸隘據其要害,不過三五處,屯兵設堡寨,自此絕契丹南牧矣。契丹乃遊牧民族,視作戰如遊牧狩獵,故宋人往往將契丹兵馬向南侵犯謂作“南牧”,其原因即在此。於是窺知“聖心”的宋代臣僚上書天子要求盡早出兵收複燕雲諸州,其中以知雄州賀令圖與其父嶽州刺史賀懷浦所言最為著名:契丹主年幼,國事決於其母,其大將軍韓德讓寵幸用事,國人疾之,請乘其釁以取幽薊。此言可謂大洽君心,本就企圖僥幸一勝的宋太宗不顧反對意見,決定借此契丹幼主新立、政局不穩之機,即刻進行北征。統和四年(986年,宋雍熙三年)正月,宋太宗命大將曹彬為幽州道行營都部署、崔彥進為副都部署,米信為西北道都部署、杜彥圭為副,出師雄州(今河北雄縣)道北攻燕京;田重進為定州路都部署,兵出飛狐(今河北淶源)道;潘美為雲、應、朔等州都部署、楊業為副,出雁門(今山西代縣)進攻雲州(今山西大同)。宋太宗在大軍出征前吩咐東路主將曹彬道:“潘美之師,隻令其先趨雲、應諸州,卿等領士卒十餘萬眾聲言攻取幽州,且持重緩行,毋貪小利以邀敵作戰。敵人聞知大兵將至,必定聚集勁兵猛將於幽州一帶。兵將既聚集於此,則必不暇為增援山後雲、應諸州矣。”這一北伐方案,應該說還是相當符合戰理和當時宋、遼雙方實際情況的,故甚具可行性:東路宋軍主力持重緩行,避免主動與敵軍交戰,而保持直取燕京之勢態,從而將遼軍精銳牽製於燕京地區,無暇分兵救援其他戰區。而西路宋軍即擔負起迅速攻取雲州地區之任,中路宋軍出飛狐道以截斷遼軍燕、雲兩地之間的聯絡,待西、中兩軍取勝後,再東去會合東路主力會師燕京城下,一舉攻占戰略地位重要的燕京城,從而將契丹騎兵擋在燕山要隘之北。遼廷雖知宋太宗並不甘心高梁河之敗,對宋軍北征有所準備,但從結果上看,這種準備還是很不充分的,而此時麵對宋軍三路大舉來攻,一時間頗有些手足失措。