韓、黨二人回到濟州,為宋江說了很多好話。高俅聽了,大怒:“這都是賊人的詭計!你們倆還有何麵目來見我!來人,把他們推出去斬了!”王煥等將領連忙跪下來為他們求情。高俅不好違反眾人的意思,隻好削去韓、黨二人的官職,派人把他們押回東京。韓、黨二人托關係麵見了蔡京,說宋江隻希望朝廷招安。蔡京說:“宋江等人扯碎詔書、辱罵皇上,十分無禮,不能招安,隻可剿滅!”韓、黨二人說:“上次招安不成功,是因為使者沒有用心撫恤梁山眾人。”蔡京聽他們這麼說,這才答應奏請皇上招安。徽宗派足智多謀的文人聞煥章協助高俅招安。
牛邦喜征用了大小船隻共一千五百多艘,高俅非常高興,賞了牛邦喜,叫人把船都放進港口,訓練水兵,然後開船進攻梁山泊。
吳用吩咐劉唐帶領水軍迎戰,叫水軍頭領各準備好裝有硫磺等引火之物的小船,讓淩振在四麵的高山上開炮,又設了一些空營壘迷惑對方。
公孫勝作法求來大風,劉唐帶人到處放火,燒了牛邦喜的船隊。劉夢龍脫下頭盔和官服,跳進水裏,企圖再次逃脫,被李俊活捉。牛邦喜被張橫活捉,黨世英被亂箭射死。李俊和張橫怕宋江放了劉夢龍和牛邦喜,在路邊殺死他們,把他們的頭送回了山寨。高俅率軍接應水軍,被梁山的馬步軍殺得丟盔卸甲,狼狽地逃回了濟州城。在這場大戰中,高俅大軍折損了一大半。聞煥章來到濟州,對高俅說朝廷有意再次招安。高俅心裏猶豫不決。濟州有一個歹毒的老吏名叫王瑾,他建議高俅在詔書上做文章:曲解聖旨,以招安為名除掉宋江,驅散其他賊寇。聞煥章不同意這麼做,高俅卻高興地答應了。宋江聽說朝廷又來招安,非常高興,急忙帶著眾頭領到濟州城外聽詔。吳用擔心高俅使詐,提前在濟州城外安排了伏兵,這才沒出意外,還殺了許多官兵。高俅等人嚇得魂不附體,連忙奏請朝廷增調糧草和兵馬。徽宗以為宋江等賊寇屢次犯上作亂,非常生氣,調遣了一批精兵前去助陣。客商葉春善於造船,建議高俅建造容量大、航速快、防衛好、攻擊力強的海鰍船。高俅很高興,調集工匠日夜趕製,同時加緊訓練水軍。
入冬時,海鰍船造好,高俅信心十足,調集兵馬再次進攻梁山泊。阮氏三兄弟、張橫、張順、童威、童猛等水軍潛入水中,鑿穿了海鰍船的船底。眾官兵見海鰍船漏水,頓時慌成一團,失去了戰鬥力。梁山大軍水陸並進,大舉進攻官兵,活捉了高俅和其餘幾個節度使。宋江一心想歸順朝廷,所以對高俅禮遇有加,隻希望高俅能在皇上麵前為他說好話。高俅被活捉,嚇得不知所措,為了活命,隻說自己一定會奏請皇上再來招安。宋江非常高興,堅持要留高俅多住幾天,以表達他對高俅的尊敬之意。高俅害怕梁山上那些生龍活虎的好漢,堅決要離開,為了表達自己的“誠意”,還留下聞煥章,讓蕭讓和樂和跟他一起麵見天子。宋江信以為真,親自護送高俅下山。