这时,在宋军围攻下,幽州人心动摇,降者相继,韩德让也非常惊慌,6月25日,赵光义亲自部署对幽州展开围攻,定国军节度使宋渥攻南面,河阳节度使崔彦进攻北面,彰信节度使刘遇攻东面,定武节度使孟玄喆攻西面(孟玄喆是后蜀皇帝孟昶的太子),针对幽州高厚的城墙,赵光义还让右龙武将军赵延进督造礟具八百以备攻城之需,限期八日完成。为防辽军救援,另以桂州观察使曹翰、洮州观察使米信率所部屯于幽州城南,作为战略预备队。宋军四面攻城,声势浩大,飞矢如雨,鼓声震地,赵光义也以为幽州旦夕可下,便提前任命宣徽南院使潘美知幽州行府事,但就在此时,耶律学古从山后回军增援,“穴地进城”,巩固了幽州城防,稳定了人心,宋军一部三百余人,乘夜登上城垣,也被耶律学古击退。
6月30日,也就是幽州被围六天后,正在游猎的辽景宗耶律贤才得到消息,大敌当前,契丹民族的安危决于一线,面对危局,有人居然主张放弃幽、蓟,退守松亭和北岸口。关键时刻,耶律休哥挺身而出,力排众议,认为幽州绝不可轻易放弃,并请求亲率精骑五千前往救援,如果不能取胜,再撤退不晚。辽景宗支持了他的意见,斥责统军使萧讨古:“卿等不严侦候,用兵无法,遇敌即败,奚以为将?!”即命耶律休哥代替耶律奚底为北院大王,率领五院兵马南下,会合耶律斜轸解幽州之围。此前,辽南府宰相、太保耶律沙奉命救援北汉,白马岭败后,率军返回,刚好与耶律斜轸会师。
五院兵马就是辽国的部族军,共四个营,“部隶南府,以镇南境”,也算是精锐部队,受命后,耶律休哥率军日夜兼程,自古北口南下,绕道西山,直扑幽州。7月初,宋军对幽州的攻势越发猛烈,赵光义移驾城北,连续三次亲督诸将攻城,7月3日和5日,镇守顺州的辽国雄武军节度使刘延素、知蓟州事刘守恩相继投降,幽州形势危急,但宋军连日苦战,攻城不下,军心不免懈怠,曹翰、米信所部在城南掘土得螃蟹,曹翰分析说“蟹,水物而陆居,失其所也,且多足,敌救将至之象;又,蟹者,解也,其班师乎?!”此事或许是后人附会,但反映了宋军的心理,可赵光义的注意力全被幽州吸引,居然未作任何阻援部署。
7月6日,赵光义再次上阵,指挥攻城时,耶律沙的援兵突然从沙河赶到,在幽州北门外的高梁河袭击了攻城的宋军,虽说事出意外,但宋军毕竟兵多将广,鏖战到黄昏时分,辽军渐呈不支。入夜,就在宋军胜利在望时,耶律休哥和耶律斜轸的两路大军赶到了,分左右翼同时向宋军发起猛攻,耶律休哥的五千契丹铁骑“人持两炬、高举双旗”,如猛虎下山,势不可挡,慌乱中,宋军不知辽军多寡,军心动摇。幽州城内的耶律学古见援兵已至,开门列阵,四面鸣鼓,猛攻宋军,幽州居民也出来助阵,呼声震动天地,耶律休哥本人更是身先士卒,奋勇向前,辽军士气大振,无不以一当百,誓死相拼。