辽景宗耶律贤于六月三十日知道南京被围,耶律奚底、萧讨古、耶律斜轸等军虽未大败,但却不能进攻。于是急忙调遣南府宰相耶律沙率兵救援,特里兖(15)耶律休哥主动请缨,辽景宗便以休哥代替奚底统帅五院军的精锐部队奔赴前线。
七月初六,耶律沙大军到达幽州,赵光义命各路军队攻击,两军战于高梁河,耶律沙力战不支败退。
不过,当时的宋军连续二十日不停歇地猛攻幽州城,自身也早已精疲力竭。这一次,宋军虽然战胜了辽军,且一路追杀溃逃的辽军残部。但他们从中午一直追到傍晚,只追了十余里。更令赵光义始料未及的是,辽军后援耶律休哥的大军不知何时从天而降,并且人人手里都举着火把。赵光义不知道辽军有多少人,还没应战,就已经开始发怵了。
耶律休哥先收编了耶律沙的败军,对耶律沙稍做安抚后,又命令他回去再次应战。耶律休哥与耶律斜轸则各自统帅精锐骑兵,从耶律沙的左右翼乘夜夹攻宋军,由此形成了两翼包围的钳击之势。
这一仗耶律休哥身先士卒,虽然多处受伤,但依然死战。不久,援军到达,耶律学古大开城门四面鸣鼓,还令城中百姓大声呼叫,城内顿时震天动地。耶律休哥继续率部猛攻,宋军被重重包围,且无法抵抗辽军的猛攻,只能节节败退。
此时,耶律沙从后面追击,耶律休哥与耶律斜轸两军则对宋军实行猛烈追击。宋军大败,死伤万余人。黑暗中,宋军被打得乱成一锅粥,连忙向南撤退。慌乱中,赵光义与诸将士走散,士兵们也找不到各自的首领,一个个像无头的苍蝇一般乱撞。赵光义的近臣见形势危急,连忙找了一辆驴车带着赵光义往南逃去。