雍熙三年(986年)三月,宋太宗趁辽新君年幼,三路出兵北伐燕云,史称“雍熙北伐”,但这一次北伐以失败告终,大宋进而全面转向战略防御。端拱二年(989年),何承矩向宋太宗提出,可以在河北沿边地区改造河道、挖掘河塘蓄水,以抵御辽军,大体思路是由顺安以西引易水导流向东,形成东西长三百余里、南北宽数十里的河塘地带。
河塘既可蓄水屯田,又可以构成水网抵御辽军骑兵的冲击,还可以满足宋军的后勤补给。辽军主将韩匡嗣在徐河的败绩,正是由于大规模的河塘造成了骑兵进军困难,使辽军纵深攻势的难度与风险增加。在富弼出使大辽之时,辽曾强烈要求宋停止修筑河塘水网防御体系,可见也意识到了其威胁。
在经历一系列战役大胜之后,辽军不仅摸清了大宋的防御情况,也获得了充足的信心。景德元年(1004年)闰九月,萧太后与辽圣宗举全国兵力南下亲征。此时大宋的西北边境尚不安稳,党项部族仍威胁着西北边境的安全,而宋真宗又性格懦弱,宋军在一再惨败之下亦是士气渐失。当年八月,契丹骑兵在深、祁等州出没,并且“小不利即引去,徜徉无斗意”,这让宋朝产生警觉,认为这可能是辽军发动大规模军事行动的前兆。当时寇准谏言:“愿朝廷练帅领,简骁锐,分据要害地以备之。”