一日,太宗皇帝在宫中为群臣赐宴。酒兴正酣,一大臣颇知太宗皇帝心意,为讨太宗皇帝欢心,他便于席间建议太宗皇帝出兵伐辽。太宗皇帝本有此意,于是为了造势,便当着群臣向他问计。太宗皇帝向他问道,“此时伐辽,我大宋有什么有利条件?”那大臣见太宗皇帝果然喜欢这个话题,便眉飞色舞,侃侃道来,“辽帝年幼新立,由萧太后摄政,君臣难免失和,而今我大宋兵强马壮,正是北伐的最佳时机。”宋太宗本来就有北伐之意,听他如此一说,顿时龙颜大悦,也丝毫听不进别的意见。太宗皇帝认为北伐的时机已经相当成熟,便召集文武群臣,商议决策,分配任务。太宗皇帝信心满满,决意一举攻取幽云之地,给辽兵以沉重打击,也好一报当年之仇,一雪当年之耻。
宋军兵分三路,大举伐辽。东路军是宋军的主力,以曹彬为统帅,出雄州,进攻辽的南京。中路军以田重进为统帅,出飞狐口,攻取河北北部。西路军以潘美为统帅,杨业为副统帅,王侁为护军,出雁门关,攻取山西北部。
按照太宗皇帝的部署,东路军缓进,先攻取涿州以吸引辽军的主力。待中路军和西路军推进到辽的南京以北,再与东路军合力夹攻南京。
战争一开始,由于宋军先发制人,进攻颇为顺利,三路皆捷,宋军一连攻克了辽国许多州县。但是面对宋军的全面进攻,辽国开始全力抗击。辽国的军队,尤其是骑兵,战斗力极强。眼见四面受敌,形势危急,辽圣宗耶律隆绪和萧太后,亲自到南京督战。这样一来,战争的局面很快就发生了转变,双方对峙了一段时间。后来,宋军东路军与辽军主力决战于涿州西南四十里的歧沟关。宋军被辽军大败,伤亡达数万人之多。太宗皇帝听闻了这消息,颇为惊惧,急令宋军全线撤退。
西路军在撤退时,遭到了辽军的追击。此时的辽军,兵锋正盛,副帅杨业认为不可与辽军死战硬拼,应该暂避其锋。而主帅潘美与护军王侁,却主张与辽兵正面交锋对抗。不仅如此,潘美和王侁还斥责杨业怯懦畏敌,更诬称杨业怀有异志。杨业既受威逼,更受诬责,迫不得已,复又率军北上。
杨业深知,此行必是有败无胜,心中仍然想着尽量把损失降到最低。为求侥幸于万一,发兵之前,杨业与潘美、王侁作了特别约定。约定潘美与王侁在陈家谷口两侧布置步兵硬弩,待杨业转战到此地之时,以两侧步兵夹击辽军,加以救援接应。
杨业孤军深入辽地,在途中与辽兵相遇。辽军从四面八方对宋军发起了攻击,宋军伤亡惨重。几番