第二節 雲南回民起義戰爭

一、起義的爆發

雲南地處西南邊疆,境內多山,土地瘠薄,各族人民在清朝地方官吏、土司頭人和地主豪強的重重剝削壓迫下,生活異常困苦。清政府每年向雲南徵收賦稅達白銀四十萬四千二百兩以上,各級地方政府的費用和官吏的「養廉」以及巧立名目的苛捐雜稅,隨征科派。鴉片戰爭失敗後的賠款,也分攤到雲南各族人民頭上,使其負擔越來越重。

清王朝為鎮壓人民的反抗,在雲南駐有綠營兵近四萬人,每年所需俸餉及軍械彈藥、恤賞等費甚巨,其中半數以上由地丁銀中支取,余由江南各省的協餉銀補給。太平天國起義後,江南各省自顧不暇,斷絕了協餉銀的來源,於是雲南地方當局進一步橫徵暴斂。「軍費不足,則加賦稅;賦稅不足,則抽釐金;釐金不足,則逼捐輸」1。各地團練更是「任意科斂,弊竇叢生」2。雲南各族人民遭受殘酷的壓迫剝削,被迫起而反抗,以致「聚眾抗糧」、「閉門拒賦」的現象時有發生。

為轉移雲南各族人民的反抗鬥爭目標,統治階級不斷挑起民族矛盾和民族糾紛。雲南是多民族的省份之一,有漢、回、彝、白、哈尼、壯、傣、苗、景頗等幾十個民族。除漢、回兩族外,清統治者對其他民族統稱之為「夷」。回族人數約佔全省人口的十分之一二。由於統治階級的挑撥,回族和漢族之間不斷發生糾紛。早在嘉慶初年,就因回漢上層分子爭奪廠礦利益,開始發生仇殺。道光朝以後,回漢之間的矛盾越來越大,械鬥和仇殺的次數越來越多,並愈演愈烈。這種情況,使得雲南的階級矛盾和民族矛盾錯綜複雜地交織在一起。

1855年(咸豐五年)冬,雲南臨安府(治今建水)的漢族地主惡霸和楚雄府(治今楚雄)回民為了爭奪楚雄府南安州(治今楚雄南)石羊廠銀礦,發生糾紛。楚雄府知府崔治中等地方官吏乘機施展「暗中挑撥,意在兩傷,借邀功利」的伎倆,「見臨人(按:即臨安府漢人)勢強,則召臨人殺回人;見回人勢強,又使回人以殺臨人」1,導致事態擴大,矛盾激化,從爭吵發展到回漢械鬥。

1856年春,臨安漢族惡霸煽動漢人入南安州和楚雄府城捕殺回民,「老弱鮮得免者」2。楚雄府的漢族官紳也殘暴地屠殺回民。臨安漢族惡霸等在廣通(今祿豐縣廣通鎮)、羅川(今祿豐縣西南)、祿豐等地逞兇之後,擬前往省城昆明屠殺回民,回眾起而自衛。新興(今玉溪)回民首領馬凌漢率回民千餘,在距昆明二十里的小板橋,將臨安漢人惡霸打敗。這本來是正當的自衛行動,卻被統治階級污蔑為「糾眾謀逆」、「陰謀作亂」。雲南巡撫舒興阿和團練大臣黃琮竟「飭各府廳州縣聚團殺回」,署布政使清盛也下達了對昆明回民「格殺勿論」的命令。1

統治階級策劃的對雲南回民的野蠻屠殺,終於迫使回民群眾走上武裝起義的道路。同年6月,姚州(今姚安)回民首先起事,7月即攻佔州城。各地回民相繼響應。在滇西,杜文秀起於蒙化(今巍山),蔡發春起於順寧(今鳳慶),楊榮、虎應龍起於鶴慶、麗江;在滇南,馬德新(字復初)起於新興,馬如龍起於臨安北面的曲江,馬凌漢、楊振鵬起於昆陽(今晉寧),徐元吉起於澂江(今澄江);在滇東,馬聯升起於曲靖,馬榮起於尋甸。回民起義的烽火遍及雲南全境。與此同時,漢族和彝、哈尼、白、壯等兄弟民族也紛紛起義。哀牢山區李文學領導的彝族人民起義隊伍,一開始就同杜文秀領導的回民起義軍並肩戰鬥。其他起義隊伍也或者單獨作戰,或者與回民起義軍彼此支援,相互配合,有的則直接參加了回民起義的行列。這時,雖然民族仇殺事件在不少地區仍不同程度地存在著,但是以杜文秀為代表的各族人民群眾,通過鬥爭實踐,逐步認識到封建官吏和地主武裝團練才是回漢仇殺的真正罪魁禍首,是各族人民共同的敵人,從而摒棄民族相仇的偏見,走上了共同反對清朝封建統治者的武裝鬥爭道路。

二、滇東、滇南起義軍的反清鬥爭

以回民為主體的雲南各族人民的大起義,極大地震動了清廷。咸豐帝(清文宗奕詝)立即令正在貴州鎮壓人民起義的雲貴總督恆春折回雲南,「痛加剿洗」。但自太平天國起義以來,清廷不斷徵調各省清兵赴江南鎮壓太平軍,雲南防軍也「半經外調」,所剩清軍不敷派遣,顧此失彼。回民起義軍正是趁此有利時機,迅速發展力量,開展反清鬥爭。

滇東、滇南各族人民起義之初,組織比較分散。曲靖、臨安、東川(治今會澤)、開化(治今文山)等府和廣西州(治今瀘西)的許多小鄙起義軍,各自為戰,擊敗了前來「圍剿」的清軍和地主團練武裝,進而主動進攻,圍攻敵人盤踞的城市。滇東起義軍控制了平彝(今富源)至嵩明之間的大道。徐元吉部回民軍則佔據了接近省城昆明的澂江府城。隨著鬥爭的發展,各地起義軍力量不斷壯大,並逐漸從互相支援發展到聯合行動。1857年夏,馬如龍、馬德新、徐元吉等率領滇東、滇南回民起義軍二萬人,經晉寧(今昆明市晉城)、呈貢向昆明進發。當時昆明城中清軍很少,團練因無人督率,紛紛潰散。雲貴總督、雲南巡撫和團練大臣等束手無策,只得緊閉四門,等待援軍。7月12日,起義軍佔據距城僅五里的江右館為大營,分據大樹營、王家橋、堡基、馬街子、碧雞關、紅廟、西壩等村寨,隨即發動對省城的圍攻。城內糧源斷絕,戰守無兵,雲貴總督恆春無計可施,自縊而死;巡撫舒興阿也「引疾乞假」,藏匿家中。

其時,清廷正忙於鎮壓太平天國革命,無力顧及雲南,只得調四川總督吳振棫為雲貴總督,帶川兵二千名赴任。吳振棫懾於起義軍的聲威,一面奏請清廷將「主剿」回民的團練大臣黃琮、竇垿革職,以麻痺回民的反抗意志,一面召請在外省任職的雲南籍回族官員回滇,以拉攏和收買回民軍首領。滇東、滇南起義軍的主要領導人馬德新和馬如龍都是回族上層分子(馬德新是雲南回民的總掌教,馬如龍則是出身於官宦之家的清朝武生),他們公開聲明,起兵「止欲報仇,不敢為逆」1,只要當局懲辦「倡首滅回者,以服眾心,即行解散」2。由於他們根本沒有觸動清朝反動統治的決心,因此,在統治階級的利誘之下,於1858年春與官方訂約,承諾「永不滋事」,並將圍攻省城的起義軍撤離,散歸各地,滇東、滇南起義軍第一次圍攻省城遂告結束。

三、滇西起義軍的勝利發展

(一)大理革命政權的建立

當滇南、滇東回民起義軍由於馬德新、馬如龍等人的妥協遭受挫折的時候,滇西回民起義軍在杜文秀的領導下,不斷地發展壯大。

杜文秀(1828—1872)字雲煥,號百香,雲南永昌府保山縣金雞村人,回族。1845年(道光二十五年),永昌府漢族地主團練組織「香把會」,在官府的支持和縱容下,大肆殘殺回民。杜文秀以家屬被殺,未婚妻被擄,於1847年上京控訴,但冤仇終不能伸。失望之餘,他逐漸認識了清王朝的腐敗,激發起反抗清王朝民族壓迫的革命思想。回到雲南之後,便在雲州(今雲縣)、蒙化等地暗中組織回民,醞釀起義。

1856年8月,杜文秀乘雲南提督文祥率兵離大理赴楚雄的有利時機,在蒙化率眾起義。9月7日,杜萬榮、藍金喜在大理府城起義。杜文秀聞訊,立即率起義軍前往大理,與當地回民會合,大敗清軍,斃迤西道林廷禧、太和(今大理)知縣毛玉成等。9月16日,大理知府唐惇培敗逃賓川(今賓川南),起義軍勝利佔領大理城。奪據大理的勝利,使一部分起義軍首領昏昏然,他們不去組織力量防禦清軍的進攻,卻自恃有功,爭權奪利。有的起義軍首領抱有傳統的民族偏見,任令部眾搶掠漢人,引起群眾不滿。這時,杜文秀挺身而出,組織指揮部眾粉碎了鶴麗鎮千總張正泰對大理的進攻,並且明確提出:「欲做大事,必須收拾人心,不宜專尚威力。且漢眾回寡,尤須重用漢人。」1杜文秀的正確主張,得到大家的贊同。由於他「精力強壯,忠直廉潔,素為眾人所敬仰」2,遂被推舉為總統兵馬大元帥。10月23日,滇西回民起義軍齊集大理校軍場,築壇拜帥。杜文秀以原提督署為大元帥府,組織大理革命政權。授蔡發春為揚威大都督,總各路軍事,其他文武官員也各有職稱。宣佈「遙奉太平天國南京之召號,革命滿清」,並通令「改正朔,蓄全發,易衣冠」3,以示推翻清朝反動統治的決心。

杜文秀「總統兵馬大元帥」印

為了鞏固新生的革命政權,杜文秀領導下的大理政權制定各種法律法令,實行了一系列有利於發展革命事業的方針政策,主要是:

第一,對各族人民一視同仁,平等對待,改善民族關係。還在起義之初,杜文秀就提出了「重用漢人」的正確主張,大理政權建立以後,即實行「不分漢回,一體保護」的方針,對其他民族,也採取同樣的政策。杜文秀制定的《管理軍政條例》規定:「族分三教,各有根本,各行其是。既同營幹事,均宜一視同仁,不准互相凌虐。」1這種「無分漢回夷,一以公平處之」2的民族政策,改善了大理政權控制地區各民族之間的關係,得到了他們的擁護和歡迎。

第二,減輕人民負擔,努力發展生產。大理政權規定廢除丁銀(人口稅)和其它苛捐雜稅,田賦只徵糧米;「地方稅課,舊有例者,方准抽收。不得私加名目,妄自徵收」3,以減輕人民負擔。同時,大力發展生產。農業方面,發放耕牛、農具,招民墾荒,獎勵農耕。對工商業,採取保護和促進的政策,嚴禁文武官員「以官壓市,輕價估買」4,積極發展紡織、採礦、制鹽等工業生產。隨著生產的發展,不但人民生活有了一定程度的改善,而且使起義軍有充足的軍餉,保證了革命戰爭的進行。

第三,制定軍事制度,嚴格組織紀律。起義初期,凡屬回民青壯年都要當兵。大理政權建立後,規定回族三丁抽一,五丁抽二;對漢族和其他民族,則分派一定的數額,由其各自出兵。起義軍的編制,以十人為什,百人為棚,什有什長,棚有參軍或參謀,三五棚有一統領或都統率領,十棚以上有將軍或都督統率,將軍、都督以上則有大司、大將軍、大都督和元帥。一切軍機事宜,須集體商酌,最後由元帥裁決。遇有大的軍事行動,派出統帶官作為元帥代表統率部隊,帶兵官不論何職,都要服從統帶官 的指揮。起義軍中有嚴格的軍紀和賞罰制度,鼓勵將士服從命令,英勇作戰。杜文秀還特別強調群眾紀律,規定起義軍不得「無故下鄉,滋擾良民」,或「故意縱放牲畜,踐踏田禾」,嚴禁「毀拆廟宇,擾害民房」,不准「強買估賣」等等。1以上規定和軍紀,保證了起義軍的兵源,統一了帥府的軍事指揮,取得了人民的信任和支持,提高了起義軍的戰鬥力。

(二)粉碎清軍的多次「進剿」

大理背靠蒼山,面向洱海,以上下兩關為咽喉,地勢極為險要。大理革命政權建立之後,杜文秀領導起義軍利用良好的地理條件,修營築壘,屯集糧草,做好了防禦敵人進攻的準備,從而使處於劣勢的起義軍,粉碎了敵人一次又一次的武裝「進剿」,保衛了革命政權,並使起義軍隊伍和控制地區不斷發展壯大。

千總張正泰失敗之後,清軍又多次組織力量向大理進攻。賓川團練頭目董家蘭和太和縣逃亡地主豪紳趙雲壽、李根香等人組織「義興營」團練軍,聯合敗退到鶴慶的張正泰和屯紮姚州的提督文祥所部清軍,企圖摧毀大理革命政權。1857年夏,文祥指揮清軍進攻下關東面的趙州。時值滇東、滇南起義軍圍攻昆明,滇西起義軍便乘機襲擊文祥部後路。清軍腹背受敵,潰不成軍,文祥退回鎮南州(今南華),彌渡和雲南縣(今祥雲)為起義軍佔領。1859年2月,董家蘭指揮「興義營」團練軍水陸兩路對大理發動突然襲擊。潛伏在大理城下的數百名練勇利用夜暗,用棺木裝火藥將城牆炸開,奪佔了東門城樓,但從洱海進攻的團練主力因遇到大風浪,未能按期到達,以致對大理的襲擊又遭失敗。不久,董家蘭因援鄧川(今洱源東南)被起義軍擊斃,張正泰亦因內訌被部下殺死。張董二人既死,所部團練軍一蹶不振,陸續被起義軍消滅。於是滇西起義軍聲勢大振,乘機向四外發展。統治階級驚恐萬狀,以致「是時無敢言復大理者」2。

因清軍屢敗,新任雲貴總督張亮基於1860年1月奏請以總兵褚克昌署理雲南提督,辦理滇西軍務。褚克昌率兵西上,經祿豐、楚雄,於3月間至鎮南州,接任提督。他一面分兵進攻起義軍佔據的姚州、大姚,一面率主力繼續西進。起義軍為了收縮兵力,主動放棄沙橋(鎮南西北)、雲南驛(雲南縣東南)等據點,退守雲南縣城。褚克昌尾追至雲南縣城下,指揮所部清軍進攻縣城和彌渡、紅巖(彌渡西北)等地。面對褚克昌部清軍的大舉進攻,杜文秀一面派人發動滇東、滇南回、漢、彝各族人民起義,以牽制清軍,一面催調正在進攻緬寧(今臨滄)的大都督蔡發春率軍回援。同時,致書澂江馬德新,請求派兵支援配合,以切斷褚克昌部的後路,造成東西夾擊的態勢。

1858年,滇東、滇南起義軍從昆明撤圍散歸各地之後,當時任巡撫的張亮基即調集清軍向回民進攻,回民被迫起而自衛。馬德新、馬如龍因個人目的沒有得到滿足,也乘機再次起兵,於是滇東、滇南回民起義軍又得到了發展。1860年春,馬如龍受馬德新之命,率部西援,4月底與李芳園部會合,共萬餘人,由南安州直逼楚雄。5月3日,攻克廣通。5日,在回鐙關(廣通西南)大敗楚雄援軍,斃游擊高天澤。8日,又在小腰站殲滅楚雄清軍千餘人,斃千總蘇鎮東。「楚雄得力將弁,無出高天澤、蘇鎮東右者,相繼敗沒,兵勇奪氣。」15月21日,滇東、滇南起義軍包圍了楚雄府城。

連敗兩仗、士氣低落的楚雄清軍無力阻擋起義軍的銳利攻勢,楚雄知府楊覲向褚克昌求救。褚克昌正在進攻彌渡、紅巖,無兵可派,只得盡撤鎮南大營清兵赴援楚雄。6月4日,褚克昌親抵楚雄府城。馬如龍、李芳園指揮起義軍晝夜圍攻,於6月11日,用地雷轟塌城垣二十餘丈,攻入城內。清軍一部投降,大部被殲。知府楊覲、副將慶連等被打死,褚克昌逃往鎮南。

起義軍攻佔楚雄,不但切斷了清軍的後路,而且由於清軍官兵的父母妻子多寓居楚雄,以致軍心瓦解,無意作戰。盡避褚克昌部將楊有才、張玉柱所部清軍攻佔了彌渡和紅巖,卻無法擺脫這種不利的困境。而此時滇西起義軍又從西面發動了強大的攻勢,使清軍腹背受敵,更形狼狽。起義軍大都督蔡發春於1860年4月底攻陷緬寧後,即率領雲州、順寧、蒙化、緬寧起義軍二萬餘東下,楊德明等也率大理、蒙化起義軍八千餘人,在雲南縣與之會合,聯合向彌渡、紅巖等地進攻。連日交戰,清軍傷亡慘重,褚克昌得力將領張福保、楊有才、陳開榜、王有才等被打死。褚克昌慌忙從鎮南回到雲南縣大營指揮作戰,仍無法挽回敗局。清軍糧盡兵潰,游擊張玉柱、守備孫占魁率部投降起義軍,紅巖、彌渡先後失守。起義軍隨即進攻雲南縣清軍大營,並分兵一路,由虎應龍、保文明、桂春亮率領,北攻賓川。這時馬如龍率領的滇東、滇南起義軍也先後攻佔了南安州、鎮南州和定遠(今牟定)縣城,控制了楚雄府全部州縣。褚克昌見處在起義軍東西夾擊之下的雲南縣清軍大營危在旦夕,便以往援賓川為借口,率部撤離,僅留守備周士傑等防守。蔡發春便集中兵力猛攻雲南縣清軍大營,經十幾天激戰,全殲守敵,接著又轉攻賓川。褚克昌紮營於賓川縣城以北的太和村。蔡發春率起義軍趕到後,首先佔據賓川北山,切斷清軍糧路,然後實施包圍。8月18日,起義軍發起進攻,9月9日攻破賓川清軍大營,全殲守敵,並殺死褚克昌。褚克昌全軍覆滅,雲南清軍聞風喪膽,「自此愈不敢言西上矣」1。

這時的形勢對回民起義軍非常有利,如果杜文秀和馬如龍加強團結,把滇西和滇東、滇南起義軍統一起來,或者繼續維持一定形式的聯合,乘勝出擊,擴大戰果,則有可能置敵人於死地。但是,馬如龍自謂有功,不願居杜文秀之下,竟率滇東、滇南起義軍返回澂江。不久,馬如龍等第二次圍攻昆明,徐元吉犧牲,圍城僅十日即被迫撤圍。

在杜文秀的指揮下,滇西起義軍迅速掃清了大姚、姚州等地的殘餘清軍,各將領乘勝向滇西各地清軍發起進攻。蔡德春到楚雄與已參加了滇西起義軍的李芳園會合後,於11月率軍攻佔了祿豐縣和安寧州城。與此同時,陳義、楊德明、馬金保、張遇泰1等率部攻佔了鶴慶、劍川和麗江城;虎應龍、桂春亮率部進攻永北廳(治今永勝);蔡發春則率部返回雲州、順寧,轉攻永昌府(治今保山)。1861年3月,蔡發春、陳義率部由南北兩路包圍了永昌府城,經數月圍攻,於7月底攻克。8月,楊榮、張遇泰克雲龍州城(今雲龍),姚得勝、保文明、虎應龍克永北廳城。9月,馬成克龍陵廳城。10月,蔡發春、馬國璽克騰越廳城(今騰沖)。在此期間,滇西起義軍還粉碎了署雲南提督申有謀進攻大理的陰謀,奪回了被清軍一度佔領的廣通、祿豐等城。申有謀狼狽不堪,率殘兵不足千人逃回省城。至此,西達龍陵、騰越、雲龍、永昌,東至楚雄、廣通、元謀、祿豐,南至緬寧、順寧、雲州,北抵劍川、鶴慶、麗江、永北,滇西二十餘廳州縣都在大理政權的控制之下。

(三)杜文秀反對投降,堅持鬥爭

1861年底,馬如龍聯合昆陽楊振鵬和新興田慶餘部回民軍,再次向昆明進發,開始對省城的第三衣圍攻。1862年(同治元年)初,雲南府所屬各州縣大都被起義軍佔據,昆明成為一座孤城。當時,兼署雲貴總督的雲南巡撫徐之銘迫於形勢,改變了一意主剿的態度,一面準備向起義軍發動軍事進攻,一面派署提督林自清和署澂江知府岑毓英到起義軍中「議和」,用高官厚祿引誘他們投降。馬如龍認為機會難得,立即拜倒在敵人面前,聲言「世受皇恩」1,「志在報效,歷年漢回仇殺,不得已鋌而走險,非敢叛逆,今願率眾投誠」2。1862年3月,馬如龍、馬德新、楊振鵬等人正式向敵人投降。為了表示對清朝的「忠順」,馬如龍等親自到各地說降,脅迫起義軍將士解散或撤退,將起義軍佔據的昆明四周的昆陽、新興、晉寧、呈貢、嵩明、羅次、易門、富民等城拱手獻給清軍。他們的叛變行徑受到了統治階級的賞識,清廷授予馬如龍「署理總兵」的官職,授予馬德新以「二品伯克」之銜。

馬如龍、馬德新等降清後,杜文秀繼續堅持反清鬥爭,滇西起義軍成為統治階級的心腹之患。馬如龍、馬德新等人在雲南督撫大臣的授意下,接二連三地對杜文秀進行誘降活動。1862年夏,馬如龍寫信給杜文秀,並派楊振鵬前往大理,一面以高官厚祿誘勸杜文秀投降,一面以軍事進攻相威脅。馬如龍在6月2日(五月初六日)的信中聲稱:「如以和為非,則臥榻之側,豈容他人鼾睡,官處必發兵西向。此時兩迤(指滇東、滇南)既和,迤西(即滇西)孤立。前省〔軍〕西發,每為東南所擾,故爾無功返。……刻下省垣無南顧之憂,官兵得專西伐之力,則迤西雖有數城之眾,恐難敵全省之師。爾時欲迤南赴援,弟等已授職官,宜報朝廷,必無赴救之理。」3杜文秀既不為高官厚祿所動,也不理睬馬如龍等的恐嚇。在給楊振鵬的信中,他一針見血地指出,官府的所謂和議,「不過因江南未靖,西洋復來,各省紛爭,天下鼎沸,暫為緩此急彼。俟彼處稍定,必將舉全師以壓我境。迨至彼時,〔我兵已散,我將各離,〕始知朝廷包藏禍心,則謀不及施,勇不及逞,嗷嗷待斃,悔之晚矣!」16月下旬,楊振鵬到達大理,杜文秀仍嚴詞拒絕,「堅執不從」。1863年夏,馬如龍又派他的親信馬負圖到大理勸降,杜文秀斬釘截鐵地回答:「馬雲峰(馬如龍號雲峰)做馬雲峰的官,我杜文秀造我杜文秀之反。想我杜文秀歸順,除非黃河水清。不然,萬萬不能。」2 1864年,馬德新親自出馬,前往大理遊說。杜文秀仍然拒絕講和,說他「看不起那些身為革命領袖,倒反去接受壓迫者手下的一點官職」3。這鏗鏘有力的言詞,表現了杜文秀與清廷勢不兩立的堅定立場,粉碎了統治階級的招降陰謀。

四、滇西起義軍東征昆明(參見附圖十一)

(一)東征前的形勢

1863年6月,清廷調前兩廣總督勞崇光為雲貴總督。勞崇光令署雲南提督馬如龍防守省城,籌集糧餉軍火;令署理布政使岑毓英率軍進攻滇西。8月,岑毓英率清軍從昆明出發,於11月20日佔領楚雄。此後,岑毓英以楚雄為基地,分兵向大理進犯。清軍雖先後佔領了大姚、永北、鄧川、賓川、浪穹(今洱源)、趙州、雲南、鶴慶、麗江等地,逼近大理的南北門戶上下兩關,但岑毓英所率主力卻被起義軍阻擋於鎮南和姚州,無法前進。1864年2月,起義軍在上關大敗清軍,並收復鄧川、浪穹、鶴慶、麗江;不久,又敗敵於下關,收復雲南、趙州、彌渡。杜文秀乘勝派馬得才率領援軍從彌渡、三街間道插到鎮南清軍側後,突然向敵人發起猛攻。清軍大敗(岑毓英也頭部中槍),狼狽逃回楚雄。

粉碎岑毓英部的進攻之後,杜文秀領導滇西起義軍乘勝向外發展,南面達於鎮沅,北面達於維西。至1866年初,起義軍控制了滇西二十三座城市,對清廷在雲南的統治造成極大的威脅,於是,雲貴總督勞崇光認為,「當以征剿迤西為急」1。3月,勞崇光到達昆明,便積極部署對大理的進攻。

經過將近一年的準備,署雲南提督馬如龍率領兵練八千九百餘人,於1867年2月由昆明出發,並指揮督標中軍副將楊振鵬、楚雄協副將李維述、參將楊先芝、游擊合國安、昭通鎮總兵楊盛宗、騰越鎮總兵田仲興、普洱鎮總兵李錦文等部清軍和地方團練,分數路向滇西進攻。清軍雖然兵力不少,但士氣低落,特別是其中的回民將領和士兵,大都不願同滇西回民軍打仗,加之遭到起義軍的頑強抵抗,兵疲糧缺,進展緩慢。起義軍除在各地堅守外,杜文秀又派出部隊襲擊清軍的後路。清軍驚慌失措,李維述敗於鎮南,楊振鵬潰於賓川,楊先芝、合國安潰於姚州,楚雄、大姚兩地的清軍先後告急。楊盛宗、田仲興等也因糧餉不繼,分別從永北、蒙化、威遠等地敗退。馬如龍見敗局已定,遂托病由定遠撤軍,逃回省城。回民起義軍佔領定遠、大姚之後,進而包圍了楚雄。

馬如龍進攻滇西及其失敗,是一個重要的事件,它對杜文秀的影響極大。在此之前,杜文秀雖然拒絕了統治階級的誘降,但對馬德新、馬如龍等的叛徒嘴臉缺乏應有的認識,由於民族和宗教等方面的原因,與他們撕不破臉皮,反而與之達成協議,以楚雄、鎮南東西分界,「各守疆界,各行其是」2,「不相侵犯,仍通互市」1。為恪守協議,杜文秀主張首先鞏固滇西,必要時向川、黔發展,以避免與馬德新、馬如龍發生衝突。盡避由於太平天國革命失敗,雲貴總督勞崇光力主「進剿」,清軍對大理政權的威脅越來越大,杜文秀仍然不準備向東發展。迨至馬如龍進攻滇西,首先毀約,杜文秀才感到如果仍遵前約,無異於作繭自縛,加上這時清廷在雲南的統治力量比較薄弱,勞崇光病死後,斬任雲貴總督張凱嵩托病逗留四川,新任雲南巡撫劉岳昭所率湘軍尚在貴州,布政使岑毓英率所部清軍赴貴州鎮壓豬拱箐、海馬姑苗民起義未歸,僅馬如龍率一萬五千殘兵敗將,龜縮省城。因此,杜文秀提議趁機東征昆明,並為絕大多數起義軍將領所接受。

為大舉東征,杜文秀髮布了《帥府佈告》、《誓師文》、《興師檄文》等文件。在《誓師文》中說:「此次出師,本為興漢,戒勿濫殺。如臨其境,如遇其民,各當發明宗旨。但得漢回一心,以雪國恥,是為至要。」「戰勝攻取之際,毋肆擄掠,毋貪財貨,毋凌婦女。遇官吏頑梗不服者,殺之。良善被挾者,撫之。諸惡元兇,法所必誅,嚴加懲辦,理宜不赦。」2同時,傳檄全省:「滇南一省,回漢夷三教雜處,已千百年矣。出入相友,守望相助,何嘗有畛域之分?慨自滿清僭位以來,虐我人民二百年餘〔於〕茲矣。」可惡,妖官「置蒼生亦〔於〕不問,棄黎庶其如遺。甚至漢強則助漢以殺惡,回,回強則助回以殺漢,民不聊生,人心思亂。」「本帥目擊時艱,念關民寞〔瘼〕,不忍無辜之回為漢所殺,更不忍無辜之漢被回所,傷。爰舉義師,以清妖孽。志在救劫救民,心存安回安漢。」3這些文告,控訴和揭露了清朝統治階級製造民族矛盾,挑起民族仇殺的罪行,進一步闡明了以反清為主要目標的革命立場,提出了團結回漢各族人民共同進行鬥爭的方針政策,同時,對起義軍規定了嚴格的群眾紀律。這就從政治上打擊了敵人,動員和爭取了各族人民積極參加東征昆明的戰爭。

(二)昆明外圍的激烈爭奪

粉碎馬如龍對滇西的進攻並進行必要準備後,杜文秀調集大理、楚雄、麗江、永昌、順寧、永北、蒙化等地起義軍十萬餘人(一說二十餘萬),由十八大司統率,分兵四路,向雲南省城昆明發起大規模的進攻。其部署如下:北路由大司衡楊榮、大司閫馬旭、大司勳米映山率領,從定遠出發,佔領琅黑等鹽井、羅次、武定、富民後,進攻昆明城北;西路由大司政劉誠、大司令馬清、大司藩安長興、大司隸劉綱率領,在佔領祿豐、易門、安寧、碧雞關後,進攻昆明城西;東路由楊威大都督蔡廷棟、大司平馬興堂、大司寇李芳園等率領,從大姚出發,攻佔元謀、祿勸、柯渡、楊林等地後,攻昆明城東;南路由大司戎馬國春等率領,在佔領楚雄、南安、廣通等地後,攻昆明城南。杜文秀坐鎮大理,指揮各路大軍。

防守昆明的清軍,是馬如龍所部殘兵敗將,無法與起義軍相抗衡。正在貴州與起義軍作戰的雲南巡撫劉岳昭,令業已鎮壓了貴州豬拱箐苗民起義軍剛回到雲南的布政使岑毓英「嚴扼曲靖,控制省城」1。岑毓英駐軍曲靖,派出一萬一千餘清軍赴援昆明、楚雄等地,企圖阻擋起義軍向昆明的進軍。

十萬起義軍分路並進,盡避圍攻楚雄的起義軍暫時受阻,但其餘各部進展頗為順利。1867年9月,起義軍佔領黑、白、琅等鹽井,控制了鹽井的稅收,斷絕了雲南反動當局至關重要的財源;隨後,在兩個多月的時間裡,連陷廣通、祿豐、南安、元謀、武定、祿勸,切斷了楚雄與昆明的聯繫。楚雄清軍孤立無援,軍火糧餉皆缺, 12月18日,起義軍一舉攻佔了該城。至此,起義軍控制了滇西全境,後路毫無牽掣,軍鋒直指昆明。

1868年2月19日,楊榮等部北路軍攻陷富民,西路軍佔領安寧。20日,上述兩路起義軍進至昆明城郊:北路軍由富民進佔昆明西北的團山、大普吉、梨煙村、夏家窯一帶;西路軍由安寧攻佔昆明西面的碧雞關、高嶢、梁家河、普坪等村寨。28日,南路軍攻陷易門。起義軍東征的節節勝利,使清軍中的許多回族將領備受鼓舞,昆陽楊振鵬、新興田慶余、澂江張元林、曲靖馬天順、尋甸馬世德等,「悉舉所據地方響應」1,杜文秀均授予大司之職。3月9日、10日,在楊振鵬、田慶余等配合下,南路起義軍襲佔了晉寧、呈貢,隨後即進佔昆明城南的西嶽廟、五華寺等處。至此,起義軍從北、西、南三面包圍了省城昆明。護理雲貴總督宋延春驚呼:「人心驚惶,省城危在旦夕」2。

清廷令雲南巡撫劉岳昭率領所部湘軍火速由黔入滇,以解昆明之圍。在劉岳昭到達之前,防守昆明的署提督馬如龍因在城外作戰屢敗,退入城內,采勸以防為剿」的方針,堅守不出,等待援軍。他以「謀叛」的罪名捕殺了總兵合國安等數名回族將領,設立巡防總局,強迫軍民日夜登城防守,並以自己和勸捐得來的資財充當軍餉,以安定軍心。

在有利的形勢下,兵力居於優勢的起義軍不是一鼓作氣向昆明城發動猛攻,而是列兵城下,利用附城的寺廟、堡寨,築牆挖壕,企圖憑借堅固的營壘「坐困」清軍。這種持久圍困的方針,使清軍爭得了時間,以調整力量、調派援軍向起義軍反撲。無疑,這對於遠離根據地的起義軍是極為不利的。而且,起義軍雖然包圍了昆明,但對城東封鎖不嚴,金馬寺至宜良的通道沒有完全截斷,城內清軍仍可由此得到糧食接濟以苟延殘喘。起義軍為阻截岑毓英的援兵,曾準備控制曲靖,由於行動不迅速果斷,此計未行,而岑毓英的援軍已進到昆明城下,從而使形勢變得複雜起來。

1868年3月6日,岑毓英督率三萬餘清軍,由曲靖赴援昆明:游擊楊玉科率兵一部繞道四川會理,出奇兵抄襲起義軍後路;岑毓英自率主力,進攻昆明城外的起義軍。為了達成進攻的突然性,岑毓英揚言師出陸涼(今陸良),實際取道馬龍、宜良,於3月14 日秘密地進至離昆明七十里的七甸。隨即指揮清軍由黃土坡、水海子一帶向起義軍進攻,數日之內即佔領了大小石壩、小板橋、官渡等地,切斷了呈貢和江右館起義軍大營之間的聯繫。為了奪回小板橋要隘,揚威大都督蔡廷棟、大司戎馬國春會同大司略楊振鵬、大司撫田慶余等率領數萬起義軍,於3月25日由呈貢猛攻該處清軍。清軍扼守要隘,以逸待勞,頂住了起義軍的銳利攻勢。待起義軍疲憊之時,清軍猛然出擊,將起義軍戰敗。接著,清軍又攻佔了昆明城東金馬寺、古庭庵、大樹營等地。這時岑毓英部副將楊國發等亦在楊林、大板橋等地紮營,準備進攻嵩明、尋甸。這樣,就打通了省城東面的通道,保證了城內外清軍的糧餉供給。

岑毓英指揮清軍繼續向江右館、石虎岡等起義軍據點進攻。起義軍憑借堅固的工事,頑強抵抗。由於這些據點挖有地窖、交通壕和池塘,清軍開花大炮的威力無法充分發揮,因此進攻難以奏效。同時,為了牽制進攻的清軍,並重新控制滇東通道,切斷清軍的糧食補給,駐守晉寧的大司治張元林在擊敗臨安兵練之後,乘勝進攻呈貢清軍軍營;蔡廷棟、李芳園聯合尋甸、嵩明等地起義軍,猛攻岑毓英部清軍佔據的楊林。呈貢、楊林同時吃緊,岑毓英「以楊林為東路咽喉」,只得「先其所急」,於5月7日親自率部增援楊林。

5月上旬,新任雲貴總督劉岳昭率二萬餘清軍由貴州畢節到達曲靖,他認為「心須進攻尋甸,方可早解省圍,爭保東路」1,因而決定親率所部湘軍往攻尋甸,令新任雲南巡撫岑毓英配合馬如龍解昆明之圍。岑毓英在解了楊林之圍後,於7月初回到昆明城外距城十二里的響水閘大營,繼續向昆明城郊起義軍據點進攻。清軍以巨大的傷亡為代價,佔領了地處呈貢、宜良進省要道上的石虎岡和另外少數幾個據點,但由於尋甸、澂江、新興等地起義軍不斷供應糧米彈藥,圍城起義軍仍可以憑借工事長期固守,使清軍無法解除省城之圍。因此,岑毓英決定改變戰法,由馬如龍堅守昆明,以一部兵力牽制圍城起義軍,而以主力圍攻昆明外圍州縣的起義軍,企圖先「去其羽翼」,然後集中力量消滅孤立無援的圍城起義軍。8月,岑毓英率其主力親赴呈貢前線,指揮清軍作戰。這樣,連同楊玉科部滇軍在內,清軍在昆明外圍東、南、北三個戰場上,與起義軍展開了激烈的爭奪戰。

1.呈貢、晉寧之戰

晉寧、呈貢為昆明以南的重地,在昆陽、新興等地起義軍的支援和配合下,駐守晉寧的大司治張元林、駐守呈貢的大將軍馬開義各率起義軍英勇作戰,多次擊敗敵之進攻。岑毓英到呈貢前線時,正值晉寧和昆陽起義軍在擊潰臨安兵練之後,前來救援呈貢,他趁晉寧城內起義軍兵力薄弱之機,令署總兵梁士美部偷襲晉寧。8月19日傍晚,梁士美遣其弟梁士偉率軍由江川(今江川江城)出發,夜行八十餘里,繞過起義軍的營壘,於20 日凌晨前抵達晉寧城外。守城起義軍疏於防守,清軍奪門而入。大司治張元林率起義軍英勇反擊,駐紮城外的起義軍也入城與之配合,挫敗了敵人一舉奪佔全城的陰謀。岑毓英一面令游擊何秀林、王正坤等猛攻呈貢,牽制起義軍兵力,一面派游擊岑寬德、都司劉重慶等帶兵二千六百人由水路援晉寧。梁士偉因在城內進攻受阻,即分兵一部,與援軍內外夾攻,佔領了晉寧城外四鄉。昆陽楊振鵬率起義軍援救,遭水陸兩路清軍阻截,未能到達。8月底,清軍攻佔晉寧北面的歸化,截斷了晉寧、呈貢之間的陸路交通。接著,岑毓英又派總兵馬忠等帶兵三千名,由歸化向晉寧進攻,截斷了晉寧通澂江、昆陽的通道。晉寧起義軍孤立無援,形勢危急,但張元林仍率起義軍在城內與敵人相持。

岑毓英見晉寧一時難以攻下,便令何秀林、王正坤日夜不停地猛攻呈貢。盡避晉寧危急,呈貢後路已斷,起義軍仍英勇奮戰,打退了清軍的多次進攻。9月29日,岑毓英「傳齊各營,填壕而進」。清軍四面架梯登城,衝入城內。起義軍與清軍展開巷戰,奮戰一夜,大將軍馬開義等三千餘人英勇犧牲,呈貢終於失守。

清軍攻佔呈貢後,岑毓英即令何秀林率部攻澂江,王正坤率部助攻晉寧,他本人亦馳赴晉寧督戰。杜文秀為救援晉寧起義軍,派張禧和馬天朝率援軍萬餘人前往,紮營於城西南的觀音山一帶。澂江起義軍也前往支援,紮營於城東的盤龍寺。為了阻止援軍與城內起義軍會合,岑毓英又調派張保和等率兵三千餘趕至晉寧。11月2日,清軍向觀音山進攻,經過激戰,起義軍受挫,馬天朝等犧牲。從澂江前來的援軍亦因何秀林部清軍進攻澂江而撤走。在晉寧起義軍孤立無援的情況下,清軍於11月3日發動總攻。經過一天一夜的激戰,起義軍彈藥告竭,將士一千餘人壯烈犧牲,張元林僅率少數人突出重圍,轉移至澂江。自8月20日清軍攻入晉寧城內,至11月4日晉寧失守,起義軍與清軍在城內日夜交戰,相持七十七日之久,充分表現了起義軍將士英勇頑強的戰鬥意志和犧牲精神。

呈貢、晉寧先後失守,澂江日益孤立。張元林在作戰中身受重傷,退入城內後,思想動搖,暗中向清軍乞降。11月27日黎明,清軍乘起義軍不備,在張元林接應下,突然攻城。中郎將張鵬程等一千餘起義軍將士在戰鬥中犧牲,澂江落入敵手。

清軍在南面戰場上的勝利,打通了由省城通滇南的通道。岑毓英隨即進駐省城昆明,與馬如龍一起策劃向起義軍進攻。起義軍由於丟失了呈貢、晉寧、澂江等重要地區,昆明城下部隊的側後暴露在敵人面前,處境十分不利。

2.富民、武定之戰

為了牽制起義軍的兵力,截斷圍攻昆明起義軍的後路,楊玉科曾奉岑毓英之命,率領清軍數千人,由東川繞道四川會理州,從阿雞魯渡口渡過金沙江,進入雲南。楊玉科聯絡當地的團練武裝,採取聲東擊西的手法,於1868年3月相繼襲佔了大姚縣的苴卻(今永仁縣城)、元謀等地;4月,又佔領了武定、祿勸。5月,駐守羅次的征南大將軍張遇泰不戰而降。隨後,楊玉科率清軍向富民進攻。

楊玉科部的迂迴行動,威脅著起義軍的後路。為了改變這種不利局面,杜文秀派大司衛姚得勝等率軍數萬由大理東援。6月中,起義軍由大姚、祿豐、富民三路齊進,分攻元謀、羅次、武定。楊玉科在富民連吃敗仗,只好收縮兵力,退守羅次。駐守富民城的大司衡楊榮率起義軍尾追敵人,與祿豐起義軍一起進攻羅次城。清軍接連失敗,楊玉科又被迫率部退守武定。起義軍在收復元謀、羅次之後,立即集中兵力於武定方向,迫使岑毓英再次派兵前往增援。楊玉科在武定修築土城碉樓,妄圖扼險頑抗。起義軍以濕木柴堆積成比城樓還高的柴樓,上面架設槍炮,轟擊城內清軍。柴樓遭清軍破壞,起義軍又挖掘地道,埋設地雷炸城,終於在11月1日佔領了武定州城和祿勸縣城。

3.尋甸之戰

1868年3月,當滇西起義軍進至昆明城郊時,馬如龍部將楊先芝、馬天順、馬文成等率部倒戈響應,隨即東進佔領了尋甸和嵩明州城。尋甸、嵩明是昆明東北的門戶,戰略地位極其重要。尋甸、嵩明起義軍與圍攻昆明的起義軍互相呼應、配合,對清軍威脅甚大。當時,劉岳昭所部湘軍仍在貴州,僅總兵李家福率領的少數先遣部隊到達曲靖,岑毓英則在昆明城下與起義軍激戰,均無力顧及尋甸、嵩明。

劉岳昭於5月7日,率軍到達曲靖後,經過三個多月的準備,於8月開始督率所部湘軍和新募黔勇二萬餘人,向尋甸進攻。其部署是:總兵李家福率部自馬龍進,總兵謝景春率部自沾益進,總兵全祖凱率部自功山進。三路分進合擊尋甸。8月9日,李家福部佔領了尋甸東北的七星橋。接著,謝景春、全祖凱等部也相繼奪佔了清水溝、金所等要隘。清軍紮營於近城的文筆山、鳳凰山、望城坡等處,用大炮不斷地向起義軍轟擊。起義軍固守城內,頑強抵抗,清軍久攻不下。12月,四川候補道劉岳曙(劉岳昭之弟)率領湘軍二千八百名,由貴州到達雲南,趕至尋甸增援,但仍無進展。

大司衛姚得勝、大司衡楊榮於攻佔武定之後,即轉旗東向,於1869年 1月21日佔領果馬,進至尋甸城下。 1月30日夜晚,起義軍突襲望城坡清軍,敵營中大火突起,全祖凱部四處逃散。次日黎明,總兵謝景春部倉皇撤退,副將賀連璧也棄營逃竄,起義軍乘勝佔領七星橋、草壩等地。2月1日,起義軍向文筆山清軍大營發起攻擊,清軍紛紛敗退,逃往曲靖、馬龍、沾益等地,尋甸隨之解圍。

尋甸一戰,回民起義軍重創了劉岳昭部清軍。劉岳昭哀歎:「諸軍精銳大半損折,勢難裹創復戰」1。岑毓英也承認:「此次尋甸失利,……全局幾至動冶2。

(三)東征的失敗

昆明外圍東、南、北三個戰場的激烈爭奪,起義軍和清軍各有勝負,總的形勢是雙方處於相持狀態。岑毓英進駐昆明後,即派總兵李維述、參將張保和等配合楊玉科部向北線進攻,從1869年 1月中旬到3月上旬,先後佔領了富民、祿勸、武定、羅次等地。同一時期,楊榮、姚得勝率所部起義軍在東線作戰。當楊玉科率部進攻武定等地時,楊榮、姚得勝為牽制清軍,由滇東向昆明進軍。3月,起義軍一舉攻佔省城東北重鎮楊林,清軍守將何秀林率部退守宜良。起義軍乘勝由長坡向大板僑一帶進攻,佔據昆明城東小偏橋、十里鋪、羊房凹、牛街、興福寺等地,使省城清軍大為震驚。4月,由馬周率領的一支回民起義軍也乘澂江空虛襲佔了該城。

岑毓英慌忙調集楊玉科、張保和、吳永安、徐聯魁、李廷標諸部救援省城。起義軍由於缺乏統一的領導和指揮,各部之間不能協調一致地行動,因而沒能趁此有利時機狠狠打擊敵人。岑毓英利用起義軍這個弱點,集中兵力向小偏橋一帶猛攻。清軍採取分割戰術,將起義軍隔為數段,然後各個擊破。經過近二個月的反覆爭奪,至6月初,小偏橋、十里鋪、長坡等要地均被清軍攻佔,起義軍傷亡萬餘人。

起義軍屯兵昆明城下一年有餘,由於戰線過長,後勤供應難於保證,糧食彈藥時有短缺,加之傳染病流行和頻繁戰鬥,部隊大量減員,特別是久攻昆明不克,戰鬥意志大受影響,士氣逐漸消沉起來。清軍攻佔小偏橋、長坡等地之後,即向楊林進攻。起義軍因大量傷亡,於6月11日撤出楊林。接著,岑毓寶由楊林、楊玉科由昆明合攻嵩明。在清軍威逼之下,守將大司寇李芳園、大司平馬興堂挾持杜文秀派到前線監軍的女兒蔡杜氏(蔡廷棟之妻)於6月13日不戰而降。在此期間,劉岳昭部將李家福、劉岳曙亦率湘軍向尋甸進攻,相繼佔領了七星橋、文筆山、望城坡等要隘,進逼州城。留守尋甸的大司理馬天順等動搖妥協,在清軍剿撫兼施之下,竟於6月20日率軍投降,尋甸、果馬等地遂為清軍佔領。至此,清軍完全控制了昆明以東地區。

岑毓英和馬如龍坐鎮省城,積極準備向圍城起義軍進行全面反攻。他們除僱請外國人訓練清軍使用從國外買進的新式大炮外,並調集大量清軍回昆明,其中有岑毓英部將岑毓寶和岑毓琦所率滇軍、劉岳昭部將李家福所率湘軍及馬天順等部降軍。1869年7月,清軍首先進攻城南起義軍陣地。至8月初,李家地、老鴉營、大營寺等地均為清軍佔領。老鴉營距南門外三捷橋清軍營壘僅一里左右,是通起義軍大營江右館的必經之路。老鴉營失守,城西起義軍和江右館的聯繫便被切斷。岑毓英一面派副將張保和率部攻昆陽、副將范清率部攻安寧、總兵李維述率部攻廣通、副將楊玉科率部攻元謀、副將何秀林率部攻易門;一面施行離間計,使起義軍將領不能團結對敵,反而互相疑忌。大司疆段成功糧盡,求借於揚威大都督蔡廷棟和大司令馬清,蔡、馬二人都不借給。9月18日,段成功遂向清軍投降,將城南西嶽廟一帶二十餘處營壘全部獻給清軍。岑毓英、馬如龍乘起義軍內亂之機,指揮清軍向城南、城西、城北的起義軍發動全面進攻。起義軍營壘多被攻破,僅存城南江右館、城北馬村、城西土堆三處,但兵力已不足萬人。9月20日,岑毓英、馬如龍指揮清軍合攻江右館,起義軍總理內閣大監軍楊崇章被俘,揚威大都督蔡廷棟、大司徒安文義退守棉花行。馬如龍親臨喊話,要求起義軍首領「自相擒獻」。在敵人的威逼下,蔡廷棟竟將安文義出賣給清軍,向敵人屈膝投降。江右館失守後,城北馬村和城西土堆更加孤立。9月21日夜,駐守馬村的大司勳米映山率五千名起義軍冒雨突圍,轉移到城西土堆,與大司政劉誠率領的二千名起義軍共同堅守。

至此,昆明東、南、北三面起義軍陣地完全丟失,元謀、易門、大姚、廣通、安寧等地也已失守,盡避城西土堆仍由起義軍堅守(12月17日失守),但其後路已被切斷,對省城昆明不再有多大威脅。這樣,滇西回民起義軍從1867年開始的東征就徹底失敗了。

東征昆明是杜文秀起義以來最大的一次軍事行動,也是雲南以回民為主體的包括漢、彝各族人民在內的反清鬥爭的最高峰。它的失敗,是雲南回民起義戰爭由勝利走向失敗的轉折點。

五、大理保衛戰

(一)戰前形勢

滇西起義軍東征昆明失敗之後,雲南清軍和起義軍在力量對比上發生了根本性的變化,清軍已逾十萬,而起義軍的力量則大大削弱了。占滇西起義軍總兵力一半的十萬東征大軍,是最精銳的部隊,幾乎完全損失在東征戰場上;眾多的能征善戰的起義軍首領,有的作戰犧牲,有的死於瘟疫,有的被俘,有的投敵,領導力量大不如前。形勢的變化,越來越有利於清軍而不利於起義軍,因此,雲南巡撫岑毓英決定進軍滇西。

昆明解圍之後,岑毓英和馬如龍一面指揮清軍繼續圍攻城西土堆等殘存的起義軍據點,一面調派部隊向昆明外圍州縣進攻。至1869年10月初,清軍相繼佔領了南安、楚雄、定遠等地,進一步穩定了省城的局勢。為了進攻滇西,岑毓英派人分赴湖南、湖北、江西、浙江等地,催調協餉,並奏請在重慶設立滇餉總局,以便於轉解協餉入滇。總督劉岳昭也於10月7日由曲靖進駐昆明,留總兵謝景春部分防曲靖、馬龍、尋甸等處,以保護滇東餉道。

在攻佔南安、楚雄、定遠等地之後,岑毓英即指揮清軍分三路向滇西大舉進攻。其部署如下:南路由迤南道張同壽、署普洱府知府許繼衡等率領,由普洱進攻威遠(今景谷)、緬寧,以牽制大理以南各地起義軍;北路由永北廳同知劉昌笏等進攻永北廳城,署維西協中軍都司張潤等率部自維西進攻麗江府城,以阻止鶴慶、麗江、鄧川、浪穹等地起義軍南援大理;中路是主力,由楊玉科率部進攻姚州,都司張士進率部進攻鎮南,都司錢大川等率部進攻雲南縣,守備陳定邦等率部進攻賓川,都司王鍾祥等率部進攻彌渡,署鎮沅州同知尉遲品玉等率部進攻鎮沅與景東接壤之馬街一帶,待姚州得手後,直攻大理。

為了保衛大理,阻止清軍長驅直進,杜文秀採取重點防守姚州、鎮南等地,以一部兵力節節阻擊的方針。

(二)大理外圍的激戰

姚州是起義軍最早佔據並大力經營的城市之一。它東界定遠,北接大姚,南連鎮南,地理位置極為重要,有大理屏藩之稱。為防禦清軍進攻,起義軍加固城牆,並在城外修土城、築碉樓、挖壕溝,使它成為一座易守難攻的堅固堡壘。1869年10月,楊玉科佔領定遠後,即率徐聯魁、段瑞梅、蔣宗漢、馮長壽等分數路包圍了姚州。楊玉科扎大營於龍崗衛,指揮清軍晝夜圍攻。大司軍馬金保和大將軍藍平貴、大都督契有明率領起義軍依托環城修築的碉樓營壘,粉碎了敵人一次又一次的進攻。楊玉科無可奈何地說:「相持數月,射火鴉、翻草龍之技已窮,均不能克。又晝夜迭攻,賊殊死戰。……枯索計謀而不得。」1 12月中旬,清軍攻佔祿豐後,岑毓英增調總兵李維述部與張士進部合攻鎮南。鎮南為大理門戶,地理位置同樣十分重要,起義軍「加意佈置,以全力據守,猝不可拔」。2由於起義軍在姚州和鎮南兩個軍事要點頑強抵抗,牽制了清軍大量兵力,遲滯了敵人的進攻,為杜文秀組織兵力阻擊清軍在其它方向的進攻贏得了時間。

南北兩路清軍進展較為順利,至1870年初,南路佔領了緬寧,北路佔領了麗江、劍川。與此同時,中路的劉興、王鍾祥、丁躍龍、段瑞梅、錢大川、陳定邦等部清軍(本為牽制起義軍兵力的助攻部隊)不顧主力受阻於姚州、鎮南等情況,突出冒進,先後佔領了彌渡、浪穹、鄧川、紅巖、雲南驛和賓川等地,逼近了大理。為了保衛大理,杜文秀派大司衡楊榮率領一支機動部隊赴援雲南縣,並分兵進攻賓川、浪穹、鄧川等地清軍。由於這些地區的清軍孤軍深入,兵力不足,這時營壘多陷,紛紛敗退。起義軍收復了鄧川、浪穹、彌渡、紅巖、雲南驛等地。4月初,楊玉科部清軍挖地道炸開城牆進入姚州城內,起義軍頑強抵抗,與敵逐點爭奪。清軍付出了大量代價,才於5月1日全部佔領該城。起義軍將領馬金保、藍平貴被俘,契有明自焚而死,起義軍六千餘人壯烈犧牲。在鎮南,盡避岑毓英派都司陸得成、林大任率開花炮隊增援攻城清軍,晝夜轟城,但仍無進展。

岑毓英認為,清軍西進緩慢並屢次失利的原因:一是東南尚未肅清,不能集中全部兵力進攻滇西,特別是「澂江、新興兩城,圍久不下」,「實為省城肘腋之患」1;二是軍隊紀律不嚴,諸將各不相下。因此,決定加緊對昆明東南回民軍的進攻:馬如龍親率兵練與總兵田仲興部合攻新興;岑毓英親率兵練往攻澂江。對進攻滇西的各部清軍,則區分任務,各專其責:委楊玉科署鶴麗鎮總兵,督辦大理、麗江軍務;委總兵李維述負責蒙化、趙州、雲南軍務。楊玉科派段瑞梅、蔣宗漢、徐聯魁、馮長壽等各率所部分援鄧川、浪穹、賓川、雲南。起義軍和清軍在上述地區展開激烈爭奪,各處得而復失,數易其手。

1870年9月3日,北路清軍黃世昌、劉昌笏部佔領了永北廳城。9月15日,楊玉科聯合北路清軍攻佔鶴慶,接著率軍南下,於10月底11月初奪占浪穹、鄧川,進攻上關。至此,大理以北各州縣盡為清軍佔領。

在大理東南,起義軍和清軍爭奪也很激烈。1870年9月21日,李維述部終於佔領了鎮南,隨後向雲南縣進攻。彌渡等地數次為清軍佔領,起義軍又幾次奪了回來。1871年5月,起義軍大敗清軍,擊斃都司陳定邦,又一次收復彌渡。徐聯魁等部進攻下關,也為楊榮部擊敗,退回賓川。劉岳昭、岑毓英鑒於以上情況,令楊玉科部清軍轉攻為守,嚴扼要隘關口,以整訓部隊,籌集糧餉,待秋收以後繼續進攻。

在大理西南,大司空李國綸率部守騰越,大司馬楊德明、大可武馬年玉率部守永昌,與當地清軍相持。鑒於永昌為大理西南屏障,戰略地位相當重要,杜文秀令東征時投敵後又逃回的蔡廷棟、段成功各率所部往援。但蔡、段二人不和,糾眾相攻。後蔡廷棟遣人刺死段成功,兼併其眾,率領大軍於1871年6月25日佔領永平,對於援救永昌並不積極。在此期間,楊玉科卻派蔣宗漢等率軍一萬增援圍攻永昌的參將李鳳祥部清軍。在蔣宗漢、李鳳祥部聯合進攻下,永昌城於9月7日失守。

1871年秋,岑毓英復令各部清軍同時向起義軍發起進攻,於是楊玉科部圍攻水平,李維述、楊國發部急攻雲南縣,企圖進而東西夾攻下關。11月,清軍在攻佔雲南驛之後,李維述令參將李棟材率部進攻彌底(蜜滴)、瓦錄、天生營等處。這一帶是彝族聚居區,彝族起義軍領袖李文學接受杜文秀授予的「大司藩」稱號,負責鎮守哀牢山區。清軍攻瓦錄逾月不下,李棟材中伏而死。起義軍因勝而驕,遭清軍襲擊,彌底、瓦錄、天生營一帶遂於12月失陷,李文學突圍他走。

1872年春,杜文秀派楊榮、蔡廷棟率援軍由南澗、古郎一帶攻雲南驛等地,欲截斷清軍後路,但在小橋一帶作戰失利退回。5月初,清軍攻佔彌渡、紅巖、南澗等地之後,李維述、楊國發遂率清軍合攻雲南縣,5月22日佔領縣城。楊玉科部清軍已於3月4日攻佔曲硐(永平南),4月21日佔領漾濞,繼而進攻下關。當得知李維述等已佔領雲南縣城時,楊玉科立即趕至雲南縣,部署向趙州進攻。趙州是大理南路咽喉,逼近下關。6月1日,楊玉科督率徐聯魁等部由雲南縣、都司周作祥部由洱海東向陽堡南下,兩路夾攻趙州。6月4日,杜文秀親率楊榮、蔡廷棟等萬餘人由大理下關援趙州,遭清軍截擊敗回。6月8日,趙州陷落,清軍進逼下關。

6月9日,楊玉科即指揮清軍同時向上下兩關發起進攻。其部署是:段瑞梅率部攻上關,都司李應舉率部由間道進扎花甸以襲上關之後;徐聯魁等率部助攻下關,並由蔣宗漢率部由漾濞越點蒼山,偷襲下關側後;楊玉科率主力從正面進攻下關;守備董良弼率水勇乘船往來於洱海之上,偵察起義軍的虛實。上關和下關各距大理數十里,是大理的南北門戶。起義軍在上下關均築有石城,城外又築起數道長垣。駐守上關的是馬國璽、馬錫晉,駐守下關的是蔡廷棟。由於起義軍防守嚴密,清軍無隙可乘,幾次進攻都遭失敗,楊玉科只得退回趙州城北的漢邑村。他探知駐守下關清風橋和天生橋的董正興、魯達二人不是回民,便派人進行分化瓦解,「招其來降,約期內應」1。同時,又派出兵士扮作鹽販,混入兩關,收買居民,以配合清軍的進攻。6月12日,清軍又發起進攻,蔣宗漢率部翻越點蒼山斜陽峰,魯達投降,清軍抄入關後。幸大司勳馬榮耀率援軍趕到,截其歸路,清軍戰守失措,狼狽逃竄。楊玉科急派千餘清軍渡過洱海攻起義軍營壘。駐守下關外關的董正興投降,清軍奪占清風橋,進入內關。蔡廷棟和馬榮耀被迫退守大理,下關遂為清軍佔領。同日,上關也被段瑞梅、李應舉等部清軍攻佔。上下兩關的丟失,嚴重地威脅著大理的安全。

(三)大理失陷與起義的最後失敗

進入上關、下關的清軍達十餘萬人2,大理城內的起義軍連同家屬老小僅五六萬人,力量相差甚大。盡避如此,杜文秀和起義軍將士仍然毫不畏懼,為了保衛大理政權,決心與清軍戰鬥到底。

1872年6月12日,清軍乘勝從南北兩面向大理發起進攻。當南路清軍進至離大理城僅一里左右、北路清軍經喜洲進至灣橋時,杜文秀命楊榮等率起義軍主動出戰,予敵人以迎頭痛擊。清軍大敗,蔣宗漢等率南路退至太和村,段瑞梅等率北路退至喜洲。正在這時,進攻蒙化的李維述部清軍告急,楊玉科率二千五百人往援。大理起義軍隨即出擊,大敗蔣宗漢、徐聯魁部清軍,佔領大井旁、磚窯、葭蓬村、重邑村等處。

6月22日,清軍攻佔蒙化城,李維述率所部向蒙化廳屬大小圍埂進攻,楊玉科則回到下關,繼續部署進攻大理。由於起義軍固守營壘,頑強抵抗,清軍只得採取步步為營的戰術,對大理周圍的村寨和起義軍營壘逐點攻擊。起義軍浴血奮戰,英勇殺敵,杜文秀也經常親自披甲上陣。但終因兵力不足,武器不如敵人,城外一百餘碉樓營壘陸續失守。11月初,清軍進至城下,包圍了大理城。

起義軍在城周圍挖有壕溝,壕邊修有隱蔽的地下工事數十座,上面覆以泥土,四周砌以磚石,並有地道與城裡相通。清軍進至壕邊時,隱藏在工事裡的起義軍通過工事的暗孔向敵人射擊,清軍屢進屢卻,死傷頗多。後清軍引蒼山溪水淹灌地下工事,迫使起義軍退回城裡。清軍隨即越過城壕,在城下紮營,並築起高過城牆的炮台數座,用大炮不斷向城內轟擊。楊玉科又指揮清軍開挖地道,準備炸城。

大理被圍日久,情況一天比一天險惡。當時,滇東、滇南地區的起義軍已完全被岑毓英、馬如龍鎮壓下去。滇西除大理外,僅騰越、順寧、雲州數地未被清軍佔領。順寧、雲州等地起義軍屢欲赴援大理,都被清軍楊萃、尉遲品玉等部阻截,因此,大理完全成為一座孤城。為了早日攻下大理,岑毓英於12月初親自率軍由昆明啟程西進。更為嚴重的是,隨著形勢的不斷惡化,起義軍中的投降勢力逐漸抬頭,內部危機加深。

12月10日,清軍地道挖成,炸開東南角城牆攻入城內。起義軍頑強抵抗,清軍死傷甚眾,被迫退出。以後,清軍又多處挖地道炸城,攻入城內,起義軍拚死反擊。至17日,清軍終於佔領了城內校嘗蓮花池一帶,起義軍退至西北半城。20日,清軍又到援軍五千餘人,楊玉科改單從東南一個方向進攻為四面同時進攻,又將開花大炮二十門排列城上,晝夜轟擊。起義軍營壘碉堡大半被毀,形勢十分危急。杜文秀決心與清軍決一死戰,至萬難固守之時,再棄而他走,或率全家老小,投洱海以殉。但楊榮、蔡廷棟思想動搖,暗中向清軍求降,併力勸杜文秀出城投敵。杜文秀還收到趙州知州唐澍的勸降信。他考慮到「與其陷萬人於鋒鏑,曷若捐一驅〔軀〕以救生靈」,遂決意出城「請罪伏誅」,以求「過咎歸某一人,法律休波萬姓」。1 12月27日,杜文秀服毒後乘轎子到達楊玉科大營。楊玉科將其頭割下,向岑毓英報功。岑毓英急從離大理一百二十里的紅巖趕到大理,縱兵血洗大理城。

大理陷落後,岑毓英移兵攻順寧、雲州、騰越。1873年3月,清軍攻陷順寧,4月又佔領雲州。5月,起義軍最後一座城市騰越失守。至此,堅持了十八年之久的雲南回民起義完全失敗了。

《中國近代戰爭史》