經過八場激戰,梁山大軍連續攻破檀州、薊州、霸州和幽州,大軍兵臨遼國的都城燕京。遼國狼主親率二十多萬將士御駕親征,與梁山決一死戰。宋江聞訊後,立即調兵強將,將所有兵力佈置在永清縣山口一帶,準備在這裡與遼國進行最後的戰略決戰。因此,這場戰鬥集中了梁山和遼國的全部精銳力量,一場惡戰在所難免。
面對遼軍二十多萬的龐大兵力,宋江採納了軍師吳用的建議,擺下了九宮八卦陣,嚴陣以待。遼軍前線統帥兀顏光並沒有急於進攻,而是針鋒相對地佈下了太乙混天象陣。對陣法一竅不通的軍師吳用不知如何應對,精通陣法的神機軍師朱武也僅僅是聽說此陣變化莫測、變化無窮,卻不知道該如何破解。看著束手無策的兩位軍師,宋江心情沉重,不敢貿然行事,更不敢強行派兵向此陣發動衝擊。
不過,兀顏光並沒有等待宋江前來破陣,而是調兵強將,向梁山這座曾經戰無不勝的九宮八卦陣發動衝擊。在首輪的較量中,梁山大軍遭到遼軍的猛攻,傷亡慘重,孔亮、李雲、朱富和石勇等四位好漢身負重傷。宋江連忙命人將四人抬到後寨交神醫安道全進行治療,又命人在營寨前灑下鐵蒺藜,埋下鹿角,嚴防遼軍的突然襲擊。
隨後,宋江與盧俊義一起商議對策。盧俊義建議第二天派遣兩路兵馬向遼軍發動進攻,以便試探太乙混天象陣的虛實。宋江採納了這一建議,在第二天的交鋒中精銳盡出。誰知,梁山好漢們剛剛衝進陣中,就遭到遼軍的痛擊,眾人抵擋不住,大敗而回。戰後清點傷亡人數時才發現,除了杜遷、宋萬身負重傷外,黑旋風李逵竟然被遼軍生擒活捉。為了救出李逵,宋江不得不與兀顏光達成協議,用被俘的兀顏延壽換回了李逵。
兩次較量,兩次失利,宋江的心情更加煩躁。此時,雙鞭呼延灼提出,在下一次進攻時將兵馬分成十隊,兩隊策應,八隊同時發動進攻,以此擾亂遼軍的防禦。宋江依計而行,又向太乙混天象陣發動進攻。誰知,大軍剛剛衝入陣中,遼軍的陣勢突然變成了一字長蛇陣,遼軍將士一擁齊上,向梁山大軍發動反攻。梁山兵馬猝不及防,再度大敗而回,傷亡更加慘重。宋江無奈,只得加強營寨防禦,堅守不出。戰事也隨即陷入僵持。
轉眼間天氣變冷,冬天即將降臨。隨同宋江參戰的副樞密使趙安撫稟報朝廷,要求儘快調撥冬季的軍服、被褥等物資。朝廷對此非常重視,不僅調撥了衣襖五十萬領,還派來了一員名將來到前線助戰。此人名叫王文斌,時任八十萬禁軍教頭,同時兼任鄭州團練使。
得知梁山大軍在前線遇阻,王文斌立功心切,主動提出率部出戰。宋江無奈,只得應允。王文斌來到遼軍陣前後,與遼軍將領曲利出清單挑。經過二十多個回合的較量,曲利出清撥馬便走。王文斌誤以為對方不是自己的對手,急於殺敵立功,緊追不捨,結果被曲利出清翻身背砍一刀殺死。
至此,在遼軍的太乙混天象陣前,孔亮、李雲、朱富、石勇、杜遷和宋萬等六將身負重傷,黑旋風李逵被俘,八十萬禁軍教頭王文斌陣亡,宋江可謂損失慘重。如果不是九天玄女託夢給宋江傳授破陣之法,這場戰鬥必將以遼軍的勝利而宣告結束。
參考書籍:《水滸傳》