自公元963年至979年,北宋王朝经过16年的战争,结束了自唐朝中叶安史之乱以来的藩镇割据和五代十国的分裂局面,实现了南北方主要地区的统一。
开宝九年,太祖突然死去,其弟赵光义继位,是为宋太宗。太宗继位后,继续实施太祖未竞的统一战略。
太宗亲率大军于太平兴国四年(979)进抵易州。辽刺史刘宇本是汉人,献城投归宋营。太宗留兵千人协守易州,又进攻涿州,辽涿州判官刘厚德亦为汉人,复开城纳降。宋太宗见连下二城,旗开得胜,非常高兴,乘胜率兵进抵辽之南京(今北京市)城南,命宋惺、崔彦进、刘遇、孟玄哲四将各率军兵四面攻城。守将耶律学古拼命抵御,太宗亲自督战。然而宋军围伐太原疲敝,已经懈怠,攻城不下。
这时辽朝已派援军来救。探卒入报,辽将耶律休哥为前锋,已至高梁河。太宗命大军拔营齐起,前往高粱河迎敌。快到河边时,只见辽兵有数万人越河而来,双方摆开阵势,金鼓齐鸣,旌旗飞舞,宋军奋力激战,辽兵伤亡惨重,渐往后退。太宗见辽军将要支持不住,遂命宋军猛攻。
正在这时,又有两队辽兵,分左右冲杀而来。左翼为辽将耶律斜轸,右翼为辽将耶律休哥。二人都是辽国良将,善于用兵,宋军抵挡不住,纷纷败退。耶律体哥趁机直取太宗,太宗急命左右护驾,但诸将被辽兵分割,难以顾及。太宗仓皇失措,幸亏辅超、呼延赞等人赶到,奋力遮护,保卫太宗南奔至涿州。
高粱河之败后,太宗虽然又发动了一次大规模进攻,但仍然以失败告终。由此,太宗已完全失去了当初北伐时的踌躇满志,再不轻言与辽开战。有宋一代再也没能收复幽云十六州。