鎮壓義軍
撲滅林清的河北起義軍之後,清政府轉而全力鎮壓李文成領導的滑縣起義軍。
起初溫承惠統領清軍圍剿滑縣義軍,行至正定,聽說京城出了事,複率兵回到保定觀望。嘉慶皇帝見溫承惠優柔寡斷,未能帶兵及時開赴滑縣,又責備他身為直隸總督,卻絲毫察覺不到林清聚眾造反的事情,便革去他的職務,改命陝甘總督那彥成督師,統領山東、河南各路清兵,命工部侍郎、護軍統領慶祥率健銳、火器營,陝西提督楊遇春率陝兵,西安將軍穆克登布率一千清兵,副都統富僧德率馬隊一千,徐州總兵徐洪率兵數千協同作戰,圍剿起義軍。
嘉慶十八年(1813年)九月二十六日,那彥成出陝西潼關,在孟津渡過黃河,十月初八來到河南的衛輝。但這時河南義軍已有三萬之眾占據道口,他不敢貿然向義軍進兵,奏請增調山西兵一千、甘肅兵二千。嘉慶帝斥責那彥成舉動拖遝,不馬上開往滑縣,反而托辭兵力不足,其實是膽怯畏戰,故意拖延,任“賊盤踞蹂躪”而不肯出手相救,等於為虎作倀,縱“賊”殃民,並且嚴厲警告,若那彥成再懷有玩忽職守,拖延不前的心理,耽誤了軍國大事,必定要治他的罪。那彥成雖然挨了罵,但仍不敢在各路人馬到齊之前進攻起義軍。十一月初。楊遇春率領的關西兵趕到,會合溫承惠、高杞、馬瑜等人統領的吉林、黑龍江等清兵勁旅,開始進攻道口,先攻占了附近的周潭村、連莊等地。義軍被壓縮在道口,企圖在此固守,拚死抵抗。
那彥成率清軍主力趕到道口之後,見義軍已在道口周圍掘壕灌水,構築起堅固的工事,便把各路清軍調集起來分成七路,又部署總兵音登額用大炮從西麵進行轟擊,高、楊分兵攻擊,楊遇春迎頭剿殺,慶祥率馬隊三麵衝突,那彥成本人率兵四路截殺。清軍發起進攻之後,遭到堅守在道口的2萬餘義軍頑強的抵抗。但清軍成功阻截了滑縣起義軍派來的2000餘名援軍,使道口孤立無助。經過一天的戰鬥,義軍終於在清軍強大的攻勢下潰敗了,道口失守。
道口是河南起義軍重要據點——滑縣城的屏障,它的失守,使滑縣縣城暴露在清軍的鋒芒之下,起義的形勢急轉直下,義軍陷入被動的局麵。而在此時,其他各處的義軍也被清軍一一撲滅。在直隸,尚書讬津統領的吉林、索倫兵鎮壓了開州的義軍;在山東,鹽運使劉清協同副都統蘇爾慎,鎮壓了曹州的義軍。這樣,隻剩下河南義軍,固守著滑縣縣城一個據點。
清軍攻占道口之後,立即向滑縣縣城施壓。那彥成先以1.3萬餘清兵將縣城三個城門圍住,因兵力不足,把正北門和西北門空出,為防義軍突圍,又急忙奏請援兵。桃源義軍首領劉國明見滑縣被圍,遂從北門率八百義軍衝入滑縣城內,把李文成用輕車救出,隨後又聚合4000餘名義軍,攻下輝縣山內的司寨,突圍成功。
清軍見李文成等突圍而出,立即重新布置,四麵包圍滑縣縣城,派出一支清軍,楊芳率領,尾追李文成至司寨前。司寨背山臨川,溝深牆固,楊芳見難以強攻,遂采取誘殲的策略。
十八日楊芳以步騎兵各600人分兩翼,在白土岡山溝埋伏,次日清晨,派侍衛蘇倫保等率兵來到司寨,義軍見來犯清軍甚少,不知有詐,便派出3000名義軍殺出司寨,蘇倫保假裝戰敗,率隊後撤,義軍緊追不舍,到白土岡,遭清軍伏擊,義軍退至南首山。清軍仰攻山梁,義軍登高而戰,以巨石投向清軍,清軍人仰馬翻,紛紛退下山來。楊芳在山下督陣,逼迫清兵繼續攻山,同時派出一路人馬抄後路,繞到山後,對山上義軍進行兩麵夾擊,義軍大敗。
清軍調過頭來,重重圍住司寨。義軍白土岡一戰失利,司寨內兵力益顯捉襟見肘。
二十日,清軍開始攻寨,義軍奮力與清軍短兵相接,展開巷戰,義軍眾將士占據寨內幾百座民房,利用地勢向外施發槍炮,彈藥用盡則用石塊擲向清軍,清軍死亡無數。一直打到晚上,不分勝負,楊芳氣急敗壞下令火攻,同時槍炮齊發,猛攻民房。義軍藏無可藏,彈盡糧絕,被清軍槍殺殆盡。李文成、劉國明等義軍將領最後退到一座碉樓內,也被清軍包圍,楊芳下令喊話“有能擒李文成來獻者,受上賞;文成若投出,餘賊皆免死”。義軍將士在碉樓內卻大呼:“李文成在此,欲殺即殺,斷不肯降。”楊芳見義軍寧死不屈,遂指揮官兵攻入碉樓,李文成與僅剩的十餘義軍將士一起點火自焚犧牲。