迎戰來進攻蓋州的宋軍(前身是和河北田虎同為四大寇之一的山東宋江領導的梁山軍,後接受朝廷的招安成為大宋王朝的軍隊,先後抗擊遼國的侵略和剿滅其他三大寇的勢力。)。
宋軍從降將耿恭口中得知城中舊州治現在是帥府,城北有幾個廟字,空處是草場,定下了攻城計畫。
晚上城北、南、東三門先後喊聲震天但是鈕文忠來看時就停下了,鬧到第二天天亮宋軍又來攻城,晚上才退,宋軍再次響起喊聲,這次鈕文忠認為是疑兵之計不予理睬,而東門宋軍這次真的來進攻,鈕文忠在城上指揮防禦。見西北鳳翔、王遠率軍二萬來支援,派軍出北門接應。
西北北軍援軍是晉寧守將田虎的兄弟三大王田彪派來的,離城還有十幾里,中了宋軍埋伏。北軍遠道而來十分勞累,而宋軍是以逸待勞,北軍大敗,士兵大半戰死,失去輜重無數,二將率領小半殘兵逃回晉寧。
城中出門的北軍遇見花榮,他們都害怕花榮,一看到他就逃回城中,此時時遷和石秀已經穿上繳獲的北軍號衣混進城。
混進城的石秀和時遷在草料場放火,因為草料場守軍得知援軍被消滅認為城守不住已經逃離,而城上守軍只顧守城沒空來草料場巡邏,二人輕易得手。
城內起火後,宋軍在城外進攻,見城南城垣稍低,從城南發起攻擊。解珍、解寶搭載雲梯飛樓攻上城,被宋軍騷擾得既困頓又害怕的北軍不敢迎戰,紛紛下城逃走,守將褚亨和解珍、解寶二人鬥了十幾合被殺,另外兩員守將秦升和石敬也被宋軍殺死。宋軍打開城南門,城外的徐寧等將率軍殺進城,徐寧從南門殺進城後又殺向東門,殺死守將安士榮並且打開東門放城外的林沖等人進城;秦明和彭玘占領並且打開了西門放城外的董平等人進城,守將莫真、赫仁、曹洪被宋軍殺死。鈕文忠見城市已經被攻破,帶領於玉麟、郭信、盛本、桑英和殘兵出北門逃走,跑出去沒一里,遇見巡邏的李逵和魯智深,郭信和桑英被李逵殺死。