与此同时,辽国从各地调集的大批援兵,宫分军、奚军、南北院军主力已经陆续汇集幽州附近,韩德让拱卫着萧绰的御帐也到达了距离涿州五十里外下寨。完成集结的辽军迅速对宋军展开反击,并且聚集重兵攻下涿州东南方向的固安。
宋军东路军主力士卒连番奔波苦战,疲乏不堪,更为窘迫的是,面临被辽军骑兵自东向西切断退路的危险。在探明攻陷固安的乃是上京援兵,甚至萧太后也亲征督战后,面对辽国倾国之兵的压力,曹彬不得已,当夜冒雨再度退兵。
此番辽军追击的迅猛和强度远胜上回。在歧沟关宋军东路主力被辽军追上,曹彬都督全军和辽军决战。此时距离宋军出师伐辽已经近两个月,在涿州等待西路和中路军前来会师,太奢侈地给了辽人集结举国精锐迎战的时间,在岐沟关前,无论从兵力数量还是士气体力上,辽军都占据了绝对优势。在辽兵的猛攻之下,宋军会战失败,曹彬再度下令连夜撤退。
大雨滂沱之中,撤出岐沟关的宋军在强渡拒马河的时候又被辽人骑兵追上,这时尚有部分未来得及渡过河流的禁军倚靠着粮车拼命抵抗四面围杀过来的辽人精骑,禁军将士奋力和如潮水一般的辽兵搏杀,他们宁死不降。次日天明,拒马河上到处漂浮着战死宋军的尸体,血水染红了整条河流,直到猛将蔡继宣再次率领五千铁骑返身杀回,才击退了辽兵,使落在后面的宋军残兵得以度过拒马河。
宋军在易水以南下寨,与追上来的辽军对垒。官家再度下旨,令诸将分兵退保各边城关隘。辽人大军逼迫之下,宋军再次分兵撤退,曹彬率主力退往定州,米信和崔彦进所部掩护主力撤退,稍后便退往往高阳关,宋军一分兵,辽军立刻选择了较为弱小的米信进行追击,斩杀过万。此役,河北前线的禁军遭到了彻底的重创,前后死者高达数万,损失之高远远超过第一次北伐。
在岐沟关,辽军发现数万宋军民夫因为来不及逃亡而躲在原本是空城的歧沟关城内,民夫们不愿为辽兵俘虏,占据关城拼死抵抗。辽兵围城难下,又急于收服岐沟关,直到恰好太后萧绰的生日,这一天是萧绰下旨,令前线辽军将领和这数万宋国的民夫讲和,只要民夫们退出歧沟关城,承诺他们可以安返宋国境内。这数万宋国民夫凭着自己的勇气,居然奇迹般没有沦为奴隶,而是回到了家乡。战后他们各自返回家乡,姓名湮没无闻,但吴英雄闻讯后立即派军情司和承影营到这批民夫中间招揽军士,得了两千多人精壮,安排他们举家迁移到河西居住。
前线损兵折将