982年九月,辽景宗去世,辽圣宗耶律隆绪即位,不过,他才十二岁,娃娃皇帝肯定不能主持军国重事,于是,由那位名叫萧绰的萧太后垂帘听政。萧太后小字燕燕,多么可爱的名字?由于主少国疑,燕燕当政后,暂息兵戈,对宋朝以防御为主要政策。
不过,辽国的防御政策,却被宋朝一些将军视为软弱,加上人家孤儿寡母,觉得可欺,所以,大臣贺令图、刘文裕、陈利用等人纷纷上书宋太宗二赵,建议乘机伐辽,夺取燕云十六州。
在一班大臣的鼓动下,并无挨近大规模作战经验的二赵内心膨胀,于986年正月,任命曹彬为幽州道都部署,崔彦进为副都部署,率主力军北上,直取燕京。另以米信为西北道都部署,杜彦圭为副帅,率军出雄州。任命田重进为定州路都部署,率部出飞狐(今河北涞源),二支偏师用以分辽军兵力,阻击辽从大同方面可能来的援军。
不久,二赵又任命潘美为都部署,名将杨业为副都部署,率军出雁门,作为宋西路军,乘虚进攻云州地区,然后与东路军夹击燕京,给燕京的辽守军制造强大的心理压力,以便比较容易攻取燕京。这可以说是二赵的第二次北伐,这次他几乎派出了当时北宋的最精锐的部队,总人数近二十万。
三月,东路军主力曹彬领军与辽战于固安南,宋军乘胜攻占固安。西路宋军潘美、杨业率部由雁门西北的西陉进入辽境,击败辽守军,追击至寰州(今朔州东),再次击败辽军,三月中旬,寰州守将降宋。东路宋军曹彬部也在与辽涿州守军激战后攻占涿州。攻势一片大好。
这时,辽燕京留守耶律休哥得知宋军分道攻辽,而辖区内歧沟关(今河北涞水东)、涿州、固安、新城(今河北新城西南)都被宋军占领,赶紧向京城求援。萧太后燕燕闻报,马上安排精兵强将南下增援燕京,又派在今辽宁辽阳驻守的耶律抹只领大军增援,她还觉得不放心,随后亲征。一个弱女子,不说她到底能力多强,单单是这份勇气,就已经难能可贵了。
二赵的西路军进围朔州,辽守将降。不久,宋军攻占应州,再克云州。现时,东路军的田重进出击飞狐时,辽招安使大鹏翼率军二万余人救援飞狐。宋军兵力处于劣势,一日交锋多次,混战数日,不分输赢。田重进用一计,安排两千士兵列队树旗,又以近三百人举白旗于路边,假装宋朝大军来援,又安排猛将荆嗣率精骑五百冲击辽军大营,当辽军惊疑不定准备退兵时,田重进率主力进攻,辽军溃败,主将大鹏翼等多人被生擒。
宋军进围飞狐,守军见援绝遂降。接着蔚州、灵丘相继降宋。云州地区的要地已被宋西路军及田重进偏师先后占领。而西北道统帅米信在新城东北与辽军苦战,被包围,直到曹彬派李继宣的援军到达,才将辽军打败,双方伤亡惨重。
至此,曹彬东路军已经占领燕京南部大部分地区,形势越来越好。但是,燕京留守耶律休哥丝毫也没有畏惧,在援军未到、势单力薄的情况下,采取灵活战术,晚上派轻骑兵袭击宋营,终晚闹腾,白天又安排部队装作进攻的样子,使宋军日夜不宁,疲于应付。而关键的一招是,耶律休哥在密林间设伏兵,攻打宋军的送粮士卒,切断了宋军的补给。曹彬主力驻留涿州十几天,进而无功,供给无力,无奈,只好退兵到雄州。
然而,当曹彬得知西路军与田重进部取得重大胜利的消息后,又退而不忍,决定再次攻打涿州,但受到辽军重重阻击,百余里的路程打了二十天才打到涿州,部队被折腾得不成样子,粮食供给又跟不上,只好再次退兵。辽耶律休哥一路追击,至歧沟关追上宋军,迅速掩杀过去,大败宋军。宋军连夜偷渡巨马河,人太多,牲口也多,结果人畜相踩,死伤惨重,最后才终于逃回宋朝境内。因这次战争主要发生在歧沟关附近,史称“歧沟关之战”。