公元936年,后晋国主石敬瑭为向契丹借兵,将燕云十六州割让给契丹。所谓燕云十六州,也称幽云十六州,即如今的北京、天津,以及山西、河北的北部地区,东西宽约六百公里,南北长约二百公里,总面积约十二万平方公里。
燕云十六州以燕山、太行山为界可分为山前七州和山后九州。山前七州包括幽(今北京)、顺(今北京顺义)、檀(今北京密云)、蓟(今天津蓟州区)、涿(今河北保定涿州)、瀛(今河北沧州河间)、莫(今河北沧州任丘北);山后九州包括儒(今北京延庆)、新(今河北张家口市涿鹿县)、妫(今河北张家口市怀来县)、武(今河北张家口市宣化区)、蔚(今河北张家口市蔚县)、应(今山西朔州市应县)、寰(今山西朔州东)、朔(今山西朔州)、云(今山西大同)。其中山前七州的重中之重在幽州,山后九州的生死攸关在云州,这十六州地区控制的正是从蒙古高原和辽东地区南下进入中原的通道和历代中原王朝最优良的牧马地。
公元986年,宋太宗赵光义为收复燕云十六州,在太原之战消灭北汉后,未犒赏三军,又不顾宋军兵疲将怠,便一意孤行地进攻契丹人建立的辽国,意图乘其不备,一举夺取幽州。战争初期,宋军一路势如破竹,沿途守军望风而降,易州、涿州相继叛辽降宋,幽州百姓甚至“箪食壶浆迎犒王师”,辽国在山前七州的统治摇摇欲坠,局势对宋军非常有利。六月中,幽州留守韩德让固守不降,宋军围攻幽州坚城二十余日不下,将士多怠,士气低落。辽景宗下旨增援幽州,七月初,辽军将领耶律休哥率骑兵长途增援,宋军三面受敌于高梁河,宋太宗乘驴车逃离前线,十万宋军全线崩溃,死者万余人。
高梁河一战,宋军前期势如破竹,一度攻入幽州,可惜高梁河战役最终还是惨败。然而,宋军先胜后败非是无因,首先,强弩之末不能穿鲁缟,宋军刚刚与北汉进行太原大战,虽然取胜,但战事迁延日久,宋军师劳兵疲,而宋太宗却未行封赏,将士多有怨言,士气衰弱。其次,宋太宗长于政事,短于军事,对辽军实力估算不足,贸然进军又指挥失措。宋军顿兵幽州城下二十余日,将怠兵疲,辽军增援后,宋太宗临阵脱逃,致使宋军全线溃退。其三,辽军发挥骑兵优势,远道奔援,变被动为主动,直取宋太宗中军,给宋军以沉重打击。
高梁河一战,对宋辽双方的影响都是极其深远的。从宋朝一方来说,从此再也不敢进行这种大纵深的军事突破,换言之,宋朝君臣早已经被敌人吓破了胆。而且赵匡胤精心组建的十万禁军丧失殆尽,这批禁军是百战之师,是赵宋能够在五代十国中脱颖而出的关键。而对辽国一方来说,则完全建立了对宋军的心理优势,燕云地区的老百姓自此再也不敢对宋军寄以期望。这种影响在雍熙北伐时得到体现,在心理上畏惧辽军的宋军,只敢采用步步为营、稳扎稳打的方式,而且经过高梁河的惨败后,燕云人民已经不可能象当初那样箪食壶浆以迎王师了。
因此我们看到在雍熙北伐的过程中,再也没有辽国官军闻风而降的景象。最终,失去天时地利人和的宋军在雍熙北伐中大败而回,大名鼎鼎的宋朝将领杨业就死于此战。宋辽实力逐渐趋于均势之后发生了“澶渊之盟”,尽管辽国将燕云十六州中的涿州、莫州和瀛洲给了宋朝,但最核心的幽州与云州仍牢牢掌握在契丹人手中。直到400多年之后的明朝,公元1368年8月,朱元璋遣大将徐达、常遇春攻克大都,才收复燕云十六州。