就在这时,传来了宋军北翼败退的消息。张令徽首先被击败逃走,接着刘舜仁也被击退了。郭药师听说后,只好率军撤回,失去了全胜的机会。
双方战斗的烟尘远在燕京城都可以看到,白河距离燕京大约有八十里,据当时在城上的许采[7]记载,站在城东城墙上,向着白河方向望去,尘埃如同云气遮蔽天空。很久之后,张令徽首先逃回,过了一会儿,刘舜仁也到了。直到晚上,郭药师才回到了城内,三人互相诋毁,争吵不休。根据统计,郭药师最核心的所谓“硬军”三百人,只剩下一百二
金军的东路军攻破檀州。檀州位于现北京密云一带,已经到了北京盆地,越过了燕山。
十二月初二[5],金人东路军攻克蓟州。
十二月初五,西路军金国使者到达太原,向童贯下战书。
十二月初七,宋军统帅童贯决定从太原回汴京。童贯是宋徽宗防御金国最依赖的人,之前几乎所有的策略都和他有关,如果他留在山西或者河北指挥抵抗,北宋的军心会很快稳定下来,但他决定离开,军心涣散就一发不可收了。在他走之前,太原守卫张孝纯和儿子张浃曾经劝说他留下,他回答:“我只是受命宣抚,不负有守土的责任,如果要宣抚司守土,还要你们干什么?”
他鼓励张孝纯好好坚守,等他到了京城,会立刻派兵马来策应。言外之意是如果他童贯留在这里,反而对整个战局是没有好处的。[6]
张孝纯只好感叹童贯平常耀武扬威,关键时期却胆小如鼠。他对儿子说:“罢了罢了,咱们父子死守吧!”
就在童贯决定南逃的当天,东路的郭药师却和金人打了一场生死大战。由于金军已经获得了檀州和蓟州,距离燕京已经很近,郭药师屯兵燕京东郊已经二十余天。他在十二月初二准备出战,可宋军中有人对他不放心,让他不要单兵突进,等待另两位将军张令徽和刘舜仁,然后三军一起出击。
十二月初六,三路军马集结完毕,并进到燕京东面的三河一带,三河附近有一条河叫白河,宋军在西岸,金军在东岸。郭药师的兵马戈甲锃亮,队伍整肃,连金军都感到有些发怵。
半夜里,郭药师率军渡过白河。金军立刻迎上,阻止他们继续前进。第二天一早宋军与金军摆开了战阵。宋军在西面,北翼是张令徽和刘舜仁的军队,南翼是郭药师。金军在东面,北翼是二太子斡离不,南翼是其他人的部队。
郭药师的军队不愧为常胜军,鏖战三十余里,将面前的金军击退,他们到达了金军的寨子,却发现没有带火种无法将对方的营垒烧毁。