赵光义得知曹彬率全军退而就食,大惊失色,他立即指示曹彬“缘白沟河与米信军接,按兵蓄锐以张西师之势,待美等尽略山后之地会重进东下趋幽州,以全师制敌。”曹彬奉诏后,本来不准备继续北上,但是诸将求功心切,眼看中西二路都获大捷,便纷纷主张再次北进,攻取幽州。副使崔彦进也认为朝廷三路出师,如不急取幽、蓟,恐落人后。曹彬为人谦仁有余、智勇不足,听信了诸将的意见,便决定携带仅剩的五日粮从白沟再次北上。时值酷暑,行军艰难,耶律休哥又沿路伏兵阻击,宋军且战且行,军渴乏井,漉淖而饮,经过四天的时间,才前进到涿州,但已人困马乏,部伍散乱。
这时,曹彬忽然听说,辽国承天太后萧绰、圣宗耶律隆绪已经率领大军进至涿州以东五十里处,即将与耶律休哥所部对宋军形成钳击之势,形势不妙,曹彬决定立即撤退,此时,他还想留下部将卢斌率军万余人守城,但卢斌也不愿当替死鬼,说:“涿州深入北地,无援内无食,丁籍残失,守必不利,不若以此万人结阵而去,比于固守利百矣”。曹彬同意,便让卢斌裹胁城中民众先行,自己率大军断后。
宋军撤退后,耶律休哥抓住时机,立即率领精骑发起追击。当时,暴雨如注,败退的宋军在泥泞中艰难跋涉,士气低落,“无复行伍”,将领也无法控制,5月初3日,耶律休哥的骑兵在歧沟关追上了逃跑的宋军,这支疲惫之师霎时崩溃,曹彬率领溃军连夜抢渡拒马河,慌乱中人马自相践踏,伤亡甚众,知幽州行府事刘保勋、开封兵曹刘利涉父子,殿中丞孔宜等人溺死河中,宋军残部逃至易水南岸,又被耶律休哥的骑兵追上,前后死者数万人,幸亏勇将李继宣殊死力战,侥幸逃生者才得以奔回高阳。
7月,经过一段时间的休整后,辽军移师西线,以十万大军实施战略反攻,耶律休哥也以砲手增援了耶律斜轸,辽军连克蔚州、飞狐。眼看败局已定,赵光义急令中路军退守定州,西路军退屯代州,掩护云,应、寰、朔四州的民众内迁。当时,辽军已占据寰州,杨业力主分兵应州,诱使辽军向东,以保民众安全南撤,但被监军王侁和主帅潘美拒绝,结果,杨业被辽将耶律斜轸打得大败,退至陈家谷口,全军覆没。至此,北宋第二次攻取幽州之战以惨败而告终,所取州县全部得而复失。
消息传来,朝野哗然,赵匡胤的旧臣-武胜军节度使赵普上书,委婉地批评赵光义“信任邪谄”,建议他先修德政、再议征伐,表面上,赵光义对失败不甚在意,还作诗赐给群臣,甚至“推诚悔过”,但这些都是伪装,等曹彬、米信等人逃回后,他立刻撕下了假面具,下令将这些败将羁押,准备处死,后经工部尚书扈蒙竭力相救,曹彬又“素服谢罪”,这才收回成命,贬曹彬为右骁卫上将军,崔彦进为右武卫上将军。