由三甲集西至太子寺,回民军于各山头遍设卡垒。这里“山峦层叠,路径狭险”(《左文襄公全集》卷四〇,《奏稿》。),阻挡了清军西进太子寺和北进大东乡的道路。回民军集中主力于新路坡,随时可以增援三甲集一带。清军王德榜部设伏莲花山,阻击新路坡援军,傅先宗等攻黑山头。回民军与清军激战一日,由于援军受阻,黑山头一带卡垒均被攻破。
11月21日,清军五路合攻三甲集。马占鳌亲临前线,令回民军“登墙防守,枪炮如雨,继以木石”(《平定关陇纪略》卷十,《回民起义》(四),第122页。),给清军沉重打击。双方从早晨至下午激战,死伤千余,大部分阵地被清军占领。回民军被迫突围北撤,三甲集失守。
三甲集失守后,河州门户洞开。清军连战皆捷,气焰十分嚣张。各路将领争相进军,连日扫荡而前,新路坡前回民军各堡垒多被攻破。太子寺以东仅余董家山为回民军据守。在此危急时刻,马占鳌亲赴河州摩尼沟及循化、米拉沟等地,发动回族和撒拉族增援太子寺。同时,回民军环绕太子寺掘长濠,濠深二丈余,宽四丈;又在太子寺南北山峰修筑卡垒,加强防守。
1872年1月16日,清军发动攻打太子寺战役。清军40余营,以优势兵力和火器,夺取回民军卡垒,并效仿回民军,亦于山头设垒。2月初,马占鳌派七阿訇率军一支突入党川铺,切断清军狄道粮道。断粮之后,清军纷纷宰马为食,而兵士多南人,不服北方寒冷气候,士气低落。
马占鳌决心出奇制胜,于2月12日派马海晏率敢死队员五百,各携带木椽、水壶和土坯,深夜摸入新路坡清军阵地。他们以土坯支立木椽,围土浇水,隆冬严寒,滴水成冰。回民军一夜之间在清军阵地中心筑成冰垒三座。次日晨,清军见状大惊。傅先宗令王得胜、彭国忠等进攻三垒,失败而退。14日,傅先宗分兵三路再攻三垒,并亲自率部攻回民军前方。马海晏令枪手穴卧阵内,一半射击,一半装弹,交换射击,命刀手伏阵前准备出击。回民军居高临下,杀伤敌人甚众。傅先宗大怒,亲掌大旗冲锋。马海宴待清军逼近,令枪手猛射,将傅先宗毙于阵前。清军见主帅丧命,军心大乱。回民军刀手冲入敌阵,烂泥沟伏军从后蜂拥而至,清军大败而逃。此后,回民军连续反攻,逼清军退至三甲集。20日夜,回民军攻党川铺,清军弃垒而逃者甚多。徐文秀怒极,率部“鏖战时许,身受三矛,力竭阵亡”(《平定关陇纪略》卷十一,《回民起义》(四),第123页。)此役伤毙清军千余,清军会攻太子寺失败。
太子寺大胜后,回民军士气高涨,有人建议乘胜攻安定左宗棠大营。而马占鳌却召集各回民军首领开会,提出投降清军。他说:“陕西的白彦虎失败了,宁夏的马化龙也失败了,陕西已告肃清,甘肃也大半平定,我们只剩河州同西宁两个地方,还要同清朝作对是不行的。……我认为这时乘胜投降,过去的罪恶由我一人担当,清廷一定少办善后,这对大家都有好处。”(《马占鳌的反清与降清》,全国政协《文史资料选辑》第27辑。)回民军内部虽然战降意见并不一致,但都感到一时的胜利不足以改变敌我力量悬殊的基本形势。因此,在马千龄等人的劝说下,大多数人赞成急流勇退,乘胜投降。
于是,马占鳌命令部队停止进攻。他对部下说:“以后种地的还种地,做买卖的还做买卖”(单化普:《陕甘劫余录》,《回民起义》(四),第309~310页。),并表示自己要亲去安定大营向左宗棠投降。由于部众不同意,最后派回民军主要首领的儿子去求降,其中有马占鳌的长子马七五、马永瑞的长子马如蛟、马万有的长子马福才等共十人,当时被称作“十大少爷”。
左宗棠知悉河州回民军投降的消息,颇感惊喜。进军河州之前,马占鳌等人已有降意,但左宗棠认为“河回嗜利轻生,性喜剽掠。无事时即常骑马远出抄掠,变乱十年未受惩创,更无畏忌。此等嗜乱之民,非创钜痛深,固难望其永久帖服也”(《左文襄公全集》卷三九,《奏稿》。),主张先剿后抚。此时形势已变,清军新败,回民军有攻狄道、安定之势,人心恐惶。金积堡之战费时甚久,虽竭尽智虑,而清廷以为师老,屡有责备。河州一时难下,新疆阿古柏变乱,沙俄虎视,亟需率师出关。因而,左宗棠决定接受河州回民军投降。他接待了“十大少爷”,亲自给马占鳌之子马七五取名“安良”,赠“翰如”表字,并表示不会亏待马占鳌等人(《马占鳌的反清与降清》,全国政协《文史资料选辑》第27辑。)
河州回民军按左宗棠的要求交出枪马。一月之内,向清军呈缴马匹四千余匹,枪矛一万四千余件(《左文襄公全集》卷四一,《奏稿》。)。马占鳌、马悟真、马永瑞、马万有、马荣及其子弟12人又赴兰州晋见左宗棠,向左氏献梅花鹿一对,鹿角悬横幅,书“天下太平”四字。左宗棠曾试马占鳌才具,与其谈论军事攻守策略,颇为赏识。左宗棠认为客军入甘,不过应事之举,非久远之计,甘肃之长治久安必须从回族培养人物,他在“所至之处,亦尝极力访求,而迄鲜得”(见《左文襄公书信奏稿集》。)现在他认为马占鳌可任其选,说:“马占鳌固回中之杰,乃其子者亦非凡品。将来弹压河州,其在马氏父子乎?”(《甘宁青史略》卷二三。)他让马占鳌推举人员,作为恢复在河州统治的依靠力量。马占鳌所引用的无非河州回民军首领。这样,河州回民军首领大部分转入清军系统,成为以后西北回族军阀势力的缔造者。这是河州回民军失败的独特形式。
左宗棠令马占鳌组织三旗马队。马占鳌为督带兼中旗管带,马悟真为左旗管带,马永瑞为右旗管带,马海晏成为督标中营步队管带。马万有不接受官职。马占鳌等对官府恢复河州统治起了很大作用。1872年6月,署理河州知州潘效苏、河州镇总兵沈玉遂等赴任。“马占鳌、马尕大、马永瑞及各回目阿訇等咸跪道旁,膜拜感泣,并纳粮百万斤备军食。”(《左文襄公全集》卷四一,《奏稿》。)马占鳌等为官府编审户口、筹措粮饷竭力奔走。左宗棠说:“迻军河州之始,人地生疏,粮草柴薪自不能不责成马占鳌承办”,数月之后,才“不必件件问马占鳌”(罗正钧:《左文襄公年谱》卷六。)。河州虽然降局已定,但不甘就此罢休者大有人在,陕西、宁夏败逃藏匿河州者亦复不少。左宗棠密令马占鳌等搜捕继续反抗的回民。马占鳌先后将回民军首领狗齿牙子、马聋子、马彦龙等捕获解押清军。清军攻西宁时,河州回民有再起的迹象,清廷十分忧虑,指出:“倘该降众再有反复,则是前功尽弃,大局殊属可虞。”(《左文襄公全集》卷四二,《奏稿》。),但马占鳌、马悟真、马永瑞本为阿訇和教主,在河州耳目众多。他们与零星反抗者连战数日,“辑获三十余名”,又“督团密拿,地方一律安堵如故”(《左文襄公全集》卷四二,《奏稿》。),有力地支持了清军。因此,左宗棠特上折具奏:“河州回目马占鳌、马永瑞自就抚后,叠经委办各务,均极妥慎,……臣察其悔罪输诚切实可靠。”(《左文襄公全集》卷四三。)降清后一年多,马占鳌升任清军都司。
河州因回民军投降,故其“善后”与宁夏有所不同。左宗棠说:“办抚之道以编审户口为要,编审户口以迁徙客回、安辑土回为要。”(《左文襄公全集》卷四一。)编审户口就是重新把回汉百姓纳入国家版籍,使其成为清政府统治的对象。为了消除隐患,官府将这里的回民分别迁移。其安插的原则是:“近城驿非所宜,近汉庄非所宜,并聚一处非所宜”,这样做的目的在于“涣其群,孤其势”(《左文襄公全集》卷四一。)回民主要被安插在战后荒绝无主之地且自成片段的地方。其中,陕西回民杨文彦、张代雨部五百余口迁于平凉一带;陕西回民拜崇花部五百余口置于会宁一带;马德彦部六百余口迁于静宁、隆德一带;甘肃流散回民迁于安定境内。这个过程中,回族下层经受颠沛之苦,而那些降清的上层势力,经济、政治未受丝毫损失,并乘机巩固了自己的地位,奠定了他们长期统治河州回族的基础。
清军攻河州之际,陕西回民军大部分移居西宁南川。马桂源等穿梭于西宁河州之间,不断为西宁各回民军请求投降。陕西回民军颇不自安,不少西奔肃州。左宗棠遣徐占彪率马步十二营攻肃州,实际只是监视和分割肃州回民军。他又利用西宁马桂源的求降活动,得以集中兵力攻河州。左宗棠认为:“西宁名存实亡,殊可伤也”(《左文襄公全集》卷四〇,《奏稿》。),决心武装进攻西宁,重新建立清朝统治。
1872年7月,河州大局已定,刘锦棠新募湘军亦到甘肃。左宗棠令刘锦棠率部西进,抢割庄稼,然后进攻西宁。
陕西回民军以大小南川为据点,控制着通往西宁的要道大小峡口。他们在峡口南北两山上多筑石垒。刘锦棠军至平戎驿,为回民军所阻。回民军居高临下,在山顶施放枪炮,伤毙众多清军。清军经数日攻战,夺取了山头。但峡口至碾伯八十余里,山势险峻,“土回与客回连成一片,每战则弥山塞谷”(《左文襄公全集》卷四二,《奏稿》。),四出攻击清军,使刘锦棠部18营军队“应接不暇”。左宗棠又派刘明灯部6营前往增援。
马桂源等见清军进逼,于9月12日密约禹得彦、白彦虎、崔伟等共商抗清之计,以其兄马本源为统领陕湟兵马大元帅。然而,会后马桂源率西宁城中回民军往撒拉循化,并未与陕西回民军真正联合作战。
9月,清军至小峡口。回民军循山而下,与清军战,后因山头垒卡被炮轰,回民军后撤与清军隔湟水对峙。清军在湟水上修桥,桥旁筑炮台。清军渡湟水,连克高家寨、观音堂等处,直至西宁城下。这阶段,陕西回民军崔伟、毕大才、禹得彦诸部均已降清,唯白彦虎部西逃。刘锦棠将回民军精壮编为旌善马队,随清军作战。
陕西回民军败后,马桂源兄弟逃往巴燕戎格。大通县都司马寿、向阳堡马进禄、韩起寿等坚不投降。1873年2月,崔伟、毕大才等为前锋,刘锦棠军继后,包围向阳堡。回民内部投降分子将马寿、马进禄、韩起寿等捆绑交给清军,献向阳堡。刘锦棠命董福祥部守向阳堡,自率军攻大通县城。城上回民军“炮石纷下”。刘锦棠令西宁降回马福寿绕城呼叫:“献城迎降者免死,擒贼者重赏。”(《平定关陇纪略》卷十二,《回民起义》(四),第166页。)回民军内有人将西门打开,放清军入城。大部分回民军与清军展开激烈巷战。清军以优势兵力,对回民军实行了血腥的镇压和屠杀。
这时,清军陈湜、沈玉遂部以河州马占鳌、马永瑞为前锋,攻巴燕戎格。马桂源“见人心已离”乃求救于马占鳌。马占鳌令其“尽缴马械,齐赴城外乞抚”(《平回志》卷六,《回民起义》(三),第188页。),同时密告于沈玉遂,于东山各处多伏军士。3月2日马桂源兄弟赴马占鳌之约,至后立即被清军捉拿,后被押往兰州,凌迟处死。西宁回民反清失败。
肃州回民军在城外数十里范围建筑堡垒数百座,其中塔尔湾、黄草坝为重要据点,“与肃城相为犄角”(《平定关陇纪略》卷十一,《回民起义》(四),第144页。)。清军徐占彪部行抵高台,粮饷被回民军所截,出战失败,兼以士兵被冻伤者甚多,军无斗志,数月裹足不前。1872年6月,清军攻塔尔湾,经十几日战斗,回民军撤退。7月,清军至肃州城外沙子坝,回民军列队出战,与清军混战多时,忽雹雨交作,回民军火药着雨,不能燃放。而清军多持洋枪,不怕雨水,回民军退入城中。以后双方争割熟麦,回民军城外卡垒连被攻破。9月,清军包围肃州城。但回民军固守城上,又寻找战机出击,屡创清军,使清军坐困城外,数月无寸进之功。1873年春,清军金顺、陶生林、宋庆各军先后至肃州助战,炮轰城上,但肃州城墙坚厚,“炮子入土,轰炸处象类蜂房而城未迸裂”(《平回志》卷六,《回民起义》(三),第191页。)清军又挖地道,亦为回民军堵截。7月,清军攻入东关,徐占彪率军与回民军巷战,左腿被枪子洞穿两处。清军围内城,筑炮台。8月,左宗棠自赴肃州城下,指挥攻城。9月,清军掘地道轰城,军士蜂拥扑城墙,被回民军击退。
肃州城被围已近一年,回民屡败清军,但城内粮食军械均已用尽,人们“宰骡马充饥。老弱乞其皮煮食度活,饿毙已不知其数”(《平定关陇纪略》卷十二,《回民起义》(四),第184页。)11月4日,马文禄赴清军营投降,缴枪二千余件和所余战马70余匹。清军杀马文禄等回民军首领,“诸军入城纵火,枪轰矛刺,屠杀回民,老弱妇女亦颇不免”(《平定关陇纪略》卷十二,《回民起义》(四),第185页。)坚持十年的肃州回民反清斗争被镇压。