后晋天福元年(936),石敬瑭把燕云十六州割让给契丹。这十六州中,云州、朔州、寰州、应州及蔚州大部分在大同雁北一带。宋朝建立后,大同仍属辽国领土。为了收复失地,统一中国,宋朝先后两次对辽作战。第一次战争发生在宋太宗太平兴国四年(979)农历七月,结果辽国和宋朝伤亡都很大,两军统帅赵匡义和耶律休哥都负了伤,之后,以宋军失败而告终。宋雍熙三年(986),辽圣宗耶律隆绪幼年上台,由其母萧太后执政。宋朝乘辽国“母寡子弱”,政权不稳之机,分兵三路北征,收复燕云十六州。西路以潘美、杨业为正副将,出兵雁门关;东路以曹彬、米信为正副将,出兵雄州(今河北雄县);中路以田重进为主将,出兵飞狐(今河北涞源北)。辽军以耶律斜轸为山西路兵马都统。战争开始时,宋军进展顺利,节节取胜。东路宋军逼近幽州,中路收复了飞狐、蔚州和灵丘县,西路潘美、杨业与蔚州刺史王侁、顺州团练使刘文裕等率领宋军,一个月内连下三州,四月又乘胜向北进军,收复云州,又进军浑源,同中路军会师于恒山。当时的形势发展对宋军很有利,但东路曹彬争功心切,在胜利面前冲昏头脑,最初,东路军的任务主要是以声张要夺取幽州,从而牵制辽国的主要兵力,为中路和西路的军事行动创造方便条件。等西路、中路取得完全胜利,然后三路并进,夺取幽州。当曹彬听说西路、中路进展神速,他怕战功被别人夺走,于是,不顾牵制辽军的主要任务,盲目冲杀。辽国萧太后把宋军东路看作是主力,重新部署了兵力,调集各路兵马,首先集中力量对付东路宋军。结果,由于曹彬贪功轻进,被辽军截断粮道,堵住后路,在涿州歧沟关被耶律休哥击败。这样,使整个战局形势急转直下。萧太后解除了东路宋军的威胁后,带领十万大军,向宋军反攻。农历五月,辽军在蔚州大败宋军中路二万多人,占领了灵丘、飞狐。飞狐关是外三关之一,形势险要,飞狐一失,打开了进入山西的门户。在辽军进逼下,浑源、应州的宋军弃城而逃,接着,辽军又攻克云州、朔州,一直进军到寰州,直逼雁门关。迫于形势,宋廷下令撤退,由潘美、杨业护送,将云、应、朔、寰四州七万八千人迁往内地。
在辽军优势兵力面前,为了完成护送四州官民转移的任务,杨业向潘美建议采取避其锋芒、声东击西的办法,领兵出大石路(今应县大石口),向北奔应州,虚张声势,将辽军主力引向西边,以使云州、朔州军民乘机南出石碣谷(今朔州南),避开辽军的袭击。并在谷口安排一千弓弩手,派骑兵中路支援,这样官民与宋军都能安全撤退。本来此计切实可行,但监军王侁竭力反对,他主张从雁门关北上,从马邑出击,与辽军正面作战。当时杨业反驳他,王侁反而嘲笑杨业贪生怕死,杨业愤而出兵,临行前哭着对潘美说:“这次出军,对我朝不<cs=-0.38>利,我原想为国立功,以报皇恩,但你们以为我是放纵敌军,不敢出战,既然如此,我当先去战死。”他指着陈家峪口(朔州西南陈家沟)的方向说:“诸位在峪口两侧,埋伏好步兵和弓弩手,等我转战到这里,就以步兵夹击相救,不然会全军覆没。”杨业言毕,率军奔向石碣谷前线。
辽军统帅耶律斜珍命先锋萧达揽在路上埋下伏兵。翌日晨,杨业与耶律斜珍在朔州东边相遇,双方交战,将杨业引入埋伏圈,杨业四面受敌,孤军奋战,苦战到下午,箭尽力竭,拼力杀出重围。到达陈家峪口已是黄昏。潘、王听说杨业兵败,早已领兵离开峪口。杨业原以为到了峪口便可转败为胜,谁知两边人影空空,杨业气得拊膺恸哭;只得率领少数官兵与辽军决一死战。他对剩下的一百多名士卒说:“你们都有父母妻子,同我战死没有意义,若逃回去还可报告天子,快冲出去吧!”将士们感动得泪流满面,谁也不愿离开,老将军王贵、杨业之子杨延玉和其余士卒全部战死,杨业身负几十处伤,继续与辽军厮杀,砍杀辽军上百人。因伤重不能行进,在树林中被辽将耶律奚达射下马来,被辽军俘虏。辽主很赏识杨业的才干,几次派人去劝降,都被杨业坚决拒绝,后绝食三日而死。为表彰杨业的忠勇,宋太宗追封他为太尉、大同军节度使。
杨业的英名流芳千古,辽代即有人在密云古北口修建杨无敌庙,北宋苏颂《和仲巽过古北口杨无敌庙》诗云:“汉家飞将领熊罴,战死燕山护我师;威信仇方名不灭,至今遗俗奉遗祠。”今山西代县鹿蹄涧村有杨忠武祠。有关杨家将的小说、故事、戏剧及传说在当地广为流传,反映了广大人民对杨家将的怀念和颂扬。

|