979年5月(北宋太平兴国四年),宋太宗灭北汉后,想乘胜收复燕云十六州,6月从镇州(今河北正定)北上击辽。结果,他失败了,回来了。
宋辽边界线,东段在今河北,西段在今山西。今山西边境为恒山、雁门山、云中山、芦芽山一线,北部为辽国统治。辽国常派兵南下袭扰,今太原及其以北的忻州、代县等地,首当其冲。宋太宗还授予杨业知代州(治今代县),以阻御辽军。杨业在辽军可能进出的要道上修建边寨。到年底,阳武寨(今原平市西南)将建成、(今原平市古阳镇)、西兴寨(现在是平市西北部)、茹越寨(今天繁荣的南方)、胡谷寨(今代县东北)、大石寨(今应县南)等6寨,加强了防御阵地。
980年3月(太平兴国五年),辽国皇帝景宗耶律贤亲自率领10多万骑兵入侵雁门。当时,杨业所部队只有代州一州的厢军(地方军)和数千名禁军(驻扎的中央军)。面对10倍以上的敌人,杨业沉着冷静,充分依靠有利的地形,对进攻敌人进行沉重打击。雁门山峡谷陡峭狭窄,两侧悬崖峭壁。在几十英里长的山谷中,10多万骑兵进入困境。
据此,杨业命部将董思源等部队带领军队阻断峡谷南口,率领数百名精骑自行车。从西兴(雁门关峡谷西侧,西兴山附近)绕过雁门关北口,向在峡谷中行驶的辽军后军发动突袭。辽军根本没想到宋军会出现在这里,顿时惊慌失措,首尾不能相顾,自相践踏,溃不成军,大败而逃。在这场战役中,杨业“出奇制胜”,取得了“以少胜众”的巨大胜利,给辽军带来了沉重的打击。之后,杨业又在要地增修楼板寨(今原平市西南)、土寨(今原平市北)、石寨(今原平市西)等,边防更加巩固。
982年5月(太平兴国七年),辽分东、西、中三路入侵。东、西两路分别在河北、陕西,中路仍在雁门。入侵雁门的辽军被杨业率打败。杨业屡败辽军,智勇双全,被誉为“杨无敌”。
986年(北宋雍熙三年)正月,宋太宗采纳了大臣的意见,利用辽国圣宗帝年仅12岁即位的机会,出兵北伐收复燕云十六州。宋军分为东、中、西三路,先后出动,向北进攻。其中,西路命潘美为云(今大同市)、应(今应县)、朔(今朔州市)、代等州部署,杨业为副,王淑为都监,刘文裕为护军,兵力数万人。2月出雁门关后,宋军不断征服环、朔、应、云诸州,派兵防守。杨业率领部还屯代州(今代县),潘美率领部东进,准备与中路宋军见面。
由于宋军被辽军大败,东路死伤数万人。宋太宗急诏潘美、杨业迁云、应、朔、环四州居民、吐浑部族南下,分为河东(今太原)、京西(今河南郑州)等地。潘美、杨业正组织居民南迁。辽军占领环州,兵锋正盛。根据这种情况,杨业认为他不应该与辽军作战,但潘美和王淑主张大张旗鼓与辽军作战,攻打环州,掩护四州居民内迁,反对杨业的意见,谴责杨业胆小怕敌,诬告他的异志。杨业被迫诬告,不得不率兵北攻打环州。
杨业知道这次旅行无疑会失败,但他仍然想尽可能减少损失,以防万一。战前,他特别同意潘美和王淑在陈家谷口(今宁武阳方口陈家沟)两侧布置步兵。杨业搬到这里时,他用两边的步兵攻击辽军进行救援和接待。杨业孤军从代州出雁门,北攻环州。途中与耶律斜云领导的辽兵相遇。辽军四面攻击,杨业奋力杀敌,八子延玉战死,淄州刺史王贵和岳州刺史贺怀浦也战死。杨业突出重围,退至狼牙村(今朔州市南),再次被辽军追赶。黄昏时分,杨业苦战终日,只与100多名士兵退到陈家谷口。
杨业出发后,潘美、王淑等,按约定陈兵在陈家谷口,等到近午,还没有杨业战争的消息。派人登上托逻台远望,以为辽军已被杨业打败。王淑想争功受赏,即率其总部擅自离开大队抢夺破辽之功。作为主教练,潘美没有约束,然后带着主力撤离。王淑等带领军队沿河西南行20多里,得知杨业兵败,惊恐之下,挥军逃跑。杨业到陈家谷口,见无兵接应,胸大哀!乃与余众拼尽全力,身被数十创,士卒死亡,随后被辽军俘虏。受重伤被俘后,杨业不屈绝食,三天死亡。宋廷听到杨业被俘殉国的消息,举朝震动。宋太宗封其子杨延朗等五官。潘美降主教练三级留用,王淑、刘文裕充军。
宋军北伐以先胜后败而结束。此后,北宋对辽战争完全被动,燕云地区再也无法恢复。
宋辽世纪之战 为什么雁门大胜后北宋还会失败?