軍至檀州城外,宋江命李俊水師假扮運糧船只,引誘檀州守軍出城搶糧。李俊乘機占領(lǐng)水門。陸上的林沖、關(guān)勝、呼延灼三路兵馬同時攻城。遼國守將洞仙侍郎棄城逃走,宋江等入城安民。
宋江收復(fù)檀州后即領(lǐng)兵向薊州進發(fā)。他先派時遷和石秀混入城里,城外的林沖和徐寧連斬番國二將,同時時遷和石秀在城內(nèi)放火,內(nèi)外夾攻,破了薊州。守將御弟大王耶律得重兵敗逃走。
宋江攻克薊州后又用詐降辦法奪了霸州,后率軍馬不停蹄進抵幽州。宋江在幽州城外擊敗了遼國副統(tǒng)軍賀重寶和率領(lǐng)大軍來增援的駙馬太真胥慶,攻下了幽州城。
宋江連克四州,震動燕州。遼主升殿問文武群臣退敵之計,都統(tǒng)軍完顏光奏道∶“讓臣選調(diào)兵馬,必能擒拿宋江,恢復(fù)失地。”遼主準(zhǔn)奏,遂賜虎牌金印,不論皇親國戚,均任憑調(diào)遣,并要隨軍御駕親征。
完顏光領(lǐng)了圣旨兵符,即下教場,調(diào)兵遣將。他的長子完顏延壽稟道∶“父親在此點大軍,孩兒先帶太真駙馬和李金吾二將軍到幽州殺敵。”完顏光道∶“給你突騎五千,精兵二萬,刻下便行。”
宋江在幽州城外擺下九宮八卦陣,完顏延壽不以為然,率領(lǐng)太真駙馬和李金吾沖進陣來。公孫勝立即作法,頓時陣?yán)锖跉庹谔欤焓植灰娢逯浮M觐佈訅勖允Х较颍缓粞幼苹钭剑焕罱鹞釕?zhàn)死,太真駙馬逃走。
完顏光聞報長子兵敗被俘,心中大驚,立即統(tǒng)領(lǐng)二十萬大軍殺向幽州。宋江見遼邦傾國而來,對眾將說∶“勝敗興亡在此一戰(zhàn)!”他把全軍開到昌平縣界,扎下營寨,專候遼兵。
完顏光驅(qū)動大軍來到宋軍陣前,按八卦圖形擺成陣勢,其陣如雞卵之形,似覆盆之狀。
宋江引吳用、朱武看了,吳用說∶“這是太乙混天象陣,機關(guān)莫測,變化多端,不可造次攻打。”
宋江急于求成,連攻三次,損失許多人馬,仍未攻下不說,李逵反被遼兵捉去,于是雙方商定,將完顏延壽和李逵互相交換。
宋江攻不下敵陣,心中愁悶。晚上他和衣而臥,睡夢中被九天玄女娘娘召去,授其破陣之法。
次日,宋江對諸將說∶“遼國的太乙混天象陣是按金木水火土布下的,只能用相生相克之理攻破,因此我們以五路齊攻,以土克水,以金克木;再造二十四部雷車,裝上油柴火炮,同時于夜間攻打,可破此陣。”
晚上二更,宋江軍中一陣聯(lián)珠炮響,呼延灼、關(guān)勝、林沖、秦明、董平五將,按五行相生相克之理,領(lǐng)兵攻打敵軍金木水火土五陣。一時鼓聲震天,殺聲震地。
李逵等人同時擁著二十四部雷車攻入遼兵陣?yán)铮R俊義領(lǐng)著一對人馬,隨雷車直奔中軍。只見雷車點燃。炮聲隆隆,喊聲四起,人兵撩亂。
完顏光提戟上馬,遇見關(guān)勝。二人正殺得難解難分,張清趕來,一石打得完顏光撲在馬上。關(guān)勝上前一刀,把他砍成兩段。
盧俊義領(lǐng)兵進中軍,解珍把遼國帥字旗砍倒,大殺遼兵遼將。遼國護駕大臣和牙將護著遼邦郎主往北逃回燕京。宋江大獲全勝,生擒遼國公主以下八名大將,死者不計其數(shù)。
遼國兵敗,豎起降旗,派人到宋江軍中求降,表示愿意“年年進牛馬,歲歲獻珠珍,不再敢浸犯中國”。宋江道:“遼國有心投降,應(yīng)差大臣親赴東京,朝見天子請降罷戰(zhàn)”。
遼國郎主派丞相褚堅攜帶大量金銀珠寶,到東京賄賂蔡京和高俅,通過他們向徽宗求降。徽宗準(zhǔn)降,派宿元景赍擎詔書往遼國開讀。另敕宋江收兵罷戰(zhàn),原奪城池仍給遼國管領(lǐng)。