然而,辽朝易主的消息传入宋朝,群臣却以为是北伐幽云的极好战机。知雄州贺令图等人上奏称:&ldo;契丹主少,母后专政,宠幸用事,请乘其衅,以取幽蓟。&rdo;2一心想收复幽云诸州的宋太宗赵炅(即赵光义),遂调兵遣将,决定再次发动对辽的大规模征战。宋雍熙三年(986)正月,部署宋军兵分三路北上。东路,以天平军节度使曹彬为幽州道行营前军马步水陆都部署,是为本路主将,河阳三城节度使崔彦进为副将,又以侍卫马军都指挥使、彰化军节度使米信为西北道都部署,沙州观察使杜彦圭为副,统兵10万,出雄州(治今河北雄县),直进燕京;中路,以侍卫步军都指挥、静难军节度使田重进为定州路都部署,是为本路主将,统兵自定州(今属河北)出飞狐(今河北涞源县北),直取蔚州(治今河北蔚县);西路,以检校太师、忠武军节度使潘美为云、应、朔等州都部署,是为本路主将,以云州观察使杨业为副将。统兵出雁门关(今山西代县北),进攻山后诸州。待中、西两路宋军攻克各自的既定目标后,再与东路军会师,合围燕京。临发兵前,赵炅叮嘱曹彬:&ldo;潘美之师但先趣云(治今山西大同)、应(治今山西应县),卿以十万众声言取幽州(治今北京西南)。且持重缓行,不得贪利。彼闻大兵至,必悉众救范阳(今北京西南),不暇援山后矣。&rdo;3即要他统兵牵制辽军主力,掩护西路军进攻,待中、西路军得手后,集中兵力进攻燕幽。
三月,三路大军相继发兵,与辽军交战。战争伊始,宋军势如破竹,捷报频传。东路,曹彬率军与辽军首战于固安(今属河北)南,一举攻占城池,继而,兵进涿州(今属河北),再战又克,且于涿州城南大败辽军援兵。斩杀奚人宰相贺斯。中路,田重进率兵与辽军首战于飞狐北。大败辽军。再战,采用定州路行营马步军都监袁继忠计,伏兵刊飞狐南口,大教全胜,生擒辽骁将、西南面招安使大鹏翼,监军、康州刺史马君页(一作斌),副将、马军指挥使何万通及渤海军3000余人,斩自数千级,俘虏辽军兵士万余。田重进指挥宋军追击辽逃兵,长驱直入40里,迅速发兵攻飞狐,辽守将吕行德、张继从、刘知进等献城投降,宋廷遂改飞狐县为飞狐军。随后,田重进又挥师进围灵丘。西路,潘美、杨业率大军自西陉进兵辽境后,即与辽军相遇激战,辽军溃败而逃,宋军紧迫至寰州(治今山西朔县东),刺史赵彦辛出城投降。而后,西路军继续北进,包围朔州(治今山西朔县)。杨业之子、杨业军先锋将杨延昭(原名杨延朗)率兵攻战于朔州城下,激战中他臂中流矢,依然顽强厮杀,战斗不止,辽守将、节度副使赵希赞开城请降。宋军占据朔州,又进兵应州,宋将、节度副使艾正、观察判官宋雄慑于宋军兵威,亦献城请降。
四月,潘美、杨业率领西路军继续推进,再攻陷云州。田重进率中路军于飞狐北,两度重创辽军,斩杀两员辽将。进而挥师蔚州,辽守军牙校李存璋、许彦钦诛杀大将萧啜理,擒获监城使、同州节度使耿绍忠,率城中吏民降宋。西、中二路宋军节节胜利,连克辽山后重镇,尽收要害之地,兵势大振。曹彬率东路军亦连下辽境州县,然而因其进兵过速,粮草不济,至涿州10日后,竟无粮供食,只得退兵雄州等待粮草。赵炅闻讯,十分恼怒道:&ldo;岂有敌人在前,后退军以援刍粟,失策之甚也。&rdo;4立刻派遣使臣前往军中,令曹彬速率兵沿白沟河与米信会师,而后按兵不动,养精蓄锐,以声援西路宋军,等潘美、杨业全部占据山后重镇,与田重进合师东进,三路会合共取幽州。命令虽已下达,然曹彬帐下诸将得知潘美、田重进两路军已累建战功,而自己尽管兵力精壮,却未能有所攻取,战绩平平,遂谋议蜂起,纷纷请求出战。曹彬见众将争功请战,不得已,乃下令携带有限的粮草再度进兵涿州。
时辽援军未至,耶律休哥力寡势单,不敢贸然出战,只于夜间派轻骑深入曹、米两军之间,斩杀流动于营外的零散体弱的宋军兵士,以恐吓宋兵;白天则布列精锐,虚张声势,使宋军忙于防御,疲惫不堪。时值五月,天气炎暑,宋军人马困乏,军中粮草又将告罄。耶律休哥又派兵设伏于林莽之中,截断宋军粮运。曹彬等宋将见粮草不济,令兵将移至白沟(今河北雄县北)驻守。一月之后,曹彬指挥宋军再度北进涿州。耶律休哥仍不断派遣轻骑沿途骚扰,抢夺宋军食粮,袭击离队落伍者,边战边退。宋军常顾此失彼,自顾不暇,只得收缩阵容,集结方阵而行。酷暑当头,沿途缺并少河,将兵干渴难忍,多就沼泽泥潭饮水,行进迟缓,四日方抵涿州。此时萧太后已亲统援军赶赴城下,兵势倍增。曹彬料难以制胜,便率兵冒雨后撤。萧太后指挥精锐紧追不舍。米信独自率领麾下300龙卫卒断后,被辽军重重包围,宋兵奋力拼杀,辽兵放箭,矢下如雨。米信殊死搏斗,射死辽兵多人,终因寡不敌众,龙卫卒多阵亡。宋军不敌辽军的进攻,便环列于粮草之外,边反击边撤退,等行至岐沟关(今河北涿州西南)时,终被耶律休哥所领辽军团团围困。日近黄昏,米信手执大刀,率随从骑士呼喊着冲向辽军,杀死数十人,辽军稍稍后退。米信随即带领百余骑冲出重围,曹彬亦在众将士护卫下,突围而去,其余兵将皆溃败而逃,死伤无计。突出重围后,曹彬、米信收拢散兵,连夜渡过拒马河,退守易州(治今河北易县)。辽军紧随其后,亦追击至易州东。耶律休哥侦知宋军于沙河边集结有数万之众,急令辽军前往攻击。宋军竟然望尘而逃,未及交战已溃不成军,以至为夺路逃生而相互挤撞坠落岸下或自相践踏而亡者过半,致使沙河水流阻断。