高俅奏明徽宗,命呼延灼即刻發兵,但救兵未到,高唐已被梁山攻下,林取了高廉人頭。梁山軍進入高唐州,從井底救了柴進。宋江、吳用從降將彭屺得知,只有金槍班教師徐寧的鐮槍法可破連環馬,吳用知徐寧有一祖傳的雁翎甲,若盜得寶物,便可有取勝把握。時遷請命,宋江應允,并派楊雄呼應。時遷潛入徐寧府,盜了雁翎甲,徐寧發現后追之,惜被楊雄用藥麻醉,并運至宋江營寨。經宋江說服,徐寧降了梁山,訓練鐮槍法,破了連環馬。呼延灼跌入陷坑,終被活捉,并受宋之誠意打動,加入了梁山。獲得勝利的梁山軍路經曾頭市,曾家兄弟劫了宋江準備獻給晁蓋的夜獅子馬,并打傷了的劉唐,當宋江得知曾家兄弟是皇后娘娘的外甥,便命花榮射出箭書,聲稱劫馬打人無理,若將寶馬進貢,需表明是梁山所獻。宋江率眾回梁山設宴慶功,晁蓋不見劉唐,一問情由,決定要打曾頭市為劉唐報仇。
晁蓋率兵五千,連夜行軍,以疲憊之師倉促上陣,宋江與林等頭領勸阻無效,終被曾頭市史文恭用毒箭射中眼睛,主帥垂危,梁山軍敗北。?戴宗報訊,朝廷殿司宿太尉到西岳降香,宋江卻想通過宿太尉疏通招安關節,宋江軟硬兼施,宿太尉當場應允,不過,久不見京城消息,宋江認為因梁山沒有顯赫人物,由此想到大名府的盧俊義,并要吳用親自下山邀盧俊義入伍。吳用、李逵扮作卦士,在盧祝壽之日入府算卦,吳用危言聳聽,說盧俊義百日之內有血光之災,他念了一首卦歌,當場題寫于墻上,并說照此行事便可解災難。盧俊義收拾行裝上路時,被管家李固欄住,官兵一涌而上,以反賊罪名捉了盧俊義,盧的貼身隨從燕青上前阻止,被官兵推開,原來卦歌每句的第一字連起來為「盧俊義反」。
晁蓋敗回梁山,病勢轉危,晁蓋在臨死前起誓,誰捉得仇人史文恭,誰即為梁山之主。聚義廳內搭起靈堂,并擁戴宋江做了臨時寨主。宋江為替晁蓋報仇,號令起兵,蕩平曾頭市。忽有朱貴來報,大名府盧員外被投入死牢。宋江、吳用決定先打大名府,解救盧俊義。梁山大軍沖進城門,一場廝殺,官兵大亂,宋江與吳用等人救出盧俊義,賠罪之余,勸其入伙,盧欣然答應。盧俊義上山后,宋江欲讓位于他,但眾頭領反對,宋江只得作罷,遂將晁蓋的折箭與盧俊義各執其半,言明誰捉得史文恭誰即為梁山之主。李逵背著宋江,獨自下山往曾頭市,李逵欲先捉史文恭,以保宋江的寨主之位。在曾頭市寨門前,李逵被史文恭一箭射中腳踝,后梁山大軍趕到,花榮射殺曾家長子曾涂。