军至檀州城外,宋江命李俊水师假扮运粮船只,引诱檀州守军出城抢粮。李俊乘机占领水门。陆上的林冲、关胜、呼延灼三路兵马同时攻城。辽国守将洞仙侍郎弃城逃走,宋江等入城安民。
宋江收复檀州后即领兵向蓟州进发。他先派时迁和石秀混入城里,城外的林冲和徐宁连斩番国二将,同时时迁和石秀在城内放火,内外夹攻,破了蓟州。守将御弟大王耶律得重兵败逃走。
宋江攻克蓟州后又用诈降办法夺了霸州,后率军马不停蹄进抵幽州。宋江在幽州城外击败了辽国副统军贺重宝和率领大军来增援的驸马太真胥庆,攻下了幽州城。
宋江连克四州,震动燕州。辽主升殿问文武群臣退敌之计,都统军完颜光奏道∶“让臣选调兵马,必能擒拿宋江,恢复失地。”辽主准奏,遂赐虎牌金印,不论皇亲国戚,均任凭调遣,并要随军御驾亲征。
完颜光领了圣旨兵符,即下教场,调兵遣将。他的长子完颜延寿禀道∶“父亲在此点大军,孩儿先带太真驸马和李金吾二将军到幽州杀敌。”完颜光道∶“给你突骑五千,精兵二万,刻下便行。”
宋江在幽州城外摆下九宫八卦阵,完颜延寿不以为然,率领太真驸马和李金吾冲进阵来。公孙胜立即作法,顿时阵里黑气遮天,伸手不见五指。完颜延寿迷失方向,被呼延灼活捉;李金吾战死,太真驸马逃走。
完颜光闻报长子兵败被俘,心中大惊,立即统领二十万大军杀向幽州。宋江见辽邦倾国而来,对众将说∶“胜败兴亡在此一战!”他把全军开到昌平县界,扎下营寨,专候辽兵。
完颜光驱动大军来到宋军阵前,按八卦图形摆成阵势,其阵如鸡卵之形,似覆盆之状。
宋江引吴用、朱武看了,吴用说∶“这是太乙混天象阵,机关莫测,变化多端,不可造次攻打。”
宋江急于求成,连攻三次,损失许多人马,仍未攻下不说,李逵反被辽兵捉去,于是双方商定,将完颜延寿和李逵互相交换。
宋江攻不下敌阵,心中愁闷。晚上他和衣而卧,睡梦中被九天玄女娘娘召去,授其破阵之法。
次日,宋江对诸将说∶“辽国的太乙混天象阵是按金木水火土布下的,只能用相生相克之理攻破,因此我们以五路齐攻,以土克水,以金克木;再造二十四部雷车,装上油柴火炮,同时于夜间攻打,可破此阵。”
晚上二更,宋江军中一阵联珠炮响,呼延灼、关胜、林冲、秦明、董平五将,按五行相生相克之理,领兵攻打敌军金木水火土五阵。一时鼓声震天,杀声震地。
李逵等人同时拥着二十四部雷车攻入辽兵阵里,卢俊义领着一对人马,随雷车直奔中军。只见雷车点燃。炮声隆隆,喊声四起,人兵撩乱。
完颜光提戟上马,遇见关胜。二人正杀得难解难分,张清赶来,一石打得完颜光扑在马上。关胜上前一刀,把他砍成两段。
卢俊义领兵进中军,解珍把辽国帅字旗砍倒,大杀辽兵辽将。辽国护驾大臣和牙将护着辽邦郎主往北逃回燕京。宋江大获全胜,生擒辽国公主以下八名大将,死者不计其数。
辽国兵败,竖起降旗,派人到宋江军中求降,表示愿意“年年进牛马,岁岁献珠珍,不再敢浸犯中国”。宋江道:“辽国有心投降,应差大臣亲赴东京,朝见天子请降罢战”。
辽国郎主派丞相褚坚携带大量金银珠宝,到东京贿赂蔡京和高俅,通过他们向徽宗求降。徽宗准降,派宿元景赍擎诏书往辽国开读。另敕宋江收兵罢战,原夺城池仍给辽国管领。