黑水营之围库车之战后仓皇出逃的霍集占,先逃往阿克苏,然阿克苏的维吾尔人民“闭城拒敌”,其首领鄂对伯克早就归附了清军,这时的阿克苏人已经觉悟,纷纷欢迎鄂对的返回。霍集占走投无路,又逃往乌什,乌什伯克霍集斯亦“闭城不纳”,并派人迎接清兵。这样,霍集占如同一只丧家犬般地逃归了叶尔羌,而其兄大和卓木罗尼都则返回了喀什噶,妄图各据一城,相互犄角,负隅顽抗。
清廷任命刚刚平定天山北路叛乱的兆惠为定边将军,接替雅尔哈善经略回部,率军往天山南路,乾隆告诫兆惠务必全歼顽敌,讨平叛乱。乾隆二十三年(1758年)8月,兆惠率3000兵马从天山北路向南路进发,10月6日抵达叶尔羌(今新疆莎车)。该城比库车更大更坚固,周长10余里,四面共有12门,城东北五六里处筑有高台一座,台前及近城处挖掘了大坎数道,以防敌人骑兵奔袭。坎下设有伏兵,以截击攻城之敌。兆惠吸取了清军库车之战的教训,决定把被动变为主动,不急于盲目攻城,先消灭城外之敌,占据有利地形。兆惠令左右两翼从东西两面夹击坎下伏兵,自率中军向前冲击,令副都统温布率兵夺其高台,坎下回兵放枪阻击,清军一阵猛冲猛打,回兵抵挡不住撤回城内,清军乘胜追至城下,回兵开三门各出500骑与清军激战数次,城墙上守兵则向清军射击,企图逼退清军,由于清军的顽强,敌军最后鸣金收兵,败回城内,闭门不出,不再轻易出战。
兆惠见叶尔羌城大而且守城的叛军多达万余人,兆惠仅统帅着3000兵力,双方力量悬殊,况且清军孤军深入,四野无粮。城内叛军依据优势,气焰嚣张。于是兆惠决定改变战术,将攻城各营撤回,在城东渡过黑水河,在河岸水草茂盛的树林里安营扎寨,修筑工事,坚避清野,故名驻军之处为黑水营,双方在此展开了拉据战。兆惠估计诚内叛军精骑约3000,最好是诱其出城设伏歼灭,先消灭其有生力量,于是清军一面在城南沿途各要道关卡派兵埋伏,一面派副都统爱隆阿率兵500,侍卫奎玛岱率兵300,前去截击从喀什噶尔(今新疆喀什)来的敌人援兵,同时又派出小股军队在城郊四周搜索粮食和牲畜,坚避清野,既解决了清军的供给又封锁了敌人的出城之路,可谓是万无一失。可是这样一来,黑水营的清军只有2000余人了,兵力分散,使叛军钻了空子。
兆惠从叛军俘虏口中得知,叶尔羌城南有一个大牧场,霍集占有大批驼马等牧群就放养在牧场内的英峨奇盘山,兆惠欲夺驼马充作军用,就亲率官兵千余名离开黑水营,于10月13日抵达通古斯鲁克地方,欲渡河后由东而南袭击英峨奇盘山。殊料清兵500余名刚刚过河,河桥突然断落,清军又被河水截为两部。原来桥下设有叛军的伏兵,他们用铙钩将木桥钩断,并和从城内涌出的5000骑兵一起前后夹击刚刚渡河只有不足500名的清军骑兵,叛军的大部队数万人也从城内不断涌来,大有一口吞并兆惠几百名骑兵之势。兆惠军兵少且被围困,尚未过河的另外几百名清军又难以相援助。兆惠临危不惧,立即令副都统由屯率左翼,温布率右翼,自率中军,三军齐声呐喊,冲入敌阵。敌骑被击退后,又从两翼绕到清军背后,企图前后夹击清军,霎时间,500清兵被成千上万的叛军团团包围,情况万分危急,兆惠急令清军“且战且退,浮水还营”。清兵此时已经陷入重围,只得各自为战,有的被杀,有的则弃马凫水而逃。清军官兵虽然异常勇猛,杀敌数千,但毕竟寡不敌众,总兵高天喜,侍卫鄂实、特通额、副都统三格等百名将士阵亡,伤者数百。兆惠本人左右冲杀,战马负伤,两易坐骑,方突出重围回营。回兵乘胜搭桥东来,后面万名大军步步紧逼,把清军的黑水营围得水泄不通。清军被动挨打,但却士气可嘉,他们“兵处危地,皆死中求生,故杀贼甚力”,无不以一当十。马力疲乏,不能突围,清兵就筑垒固守,不断加固防线。回兵则在黑水营外筑起长围,从四面攻打清军大营,枪炮如雨,杀声震天,然而营内清军却坚如磐石,岿然不动。清军的黑水营由于位置选择得较为合理,才能与人数众多的回兵相抗衡。敌兵从上游决水灌营,清兵就在营内和周围挖沟排水,掘井取水,用之不尽。军中缺粮,清兵就在夜间潜营外,掠敌驼马满载而归,而且清兵又挖地道获得敌兵的存粮数百石,可供军中士兵数月食用。清军驻扎林中,水草茂盛,采薪不愁,回兵向营中射来的铅弹和箭头,多掉在草丛里或射在树枝上,故清兵每砍一树,既可供薪,又可获铅弹数枚,再用来回击敌兵。由于没有粮草及弹药缺乏的后顾之忧,清军人数虽少但却士气高昂,坚守大营,越战越勇。敌人“以苇扫蔽体来犯,即用火焚烧,又掘沟伏身前进,即乘高击退”。敌军虽日夜猛攻,但却久攻不下,黑水营依然耸立在黑水河畔。敌人无计可施,也模仿清军“亦掘濠立寨相持”,企图长期围困清军,待其弹尽粮绝时一举歼灭。敌在黑水营边立高台,四面有护身垛口,既可监视清军动静,又可随时乘高俯射,威胁较大,兆惠亦领清军立高台与之相对,自10月22日至11月10日,不断派兵攻其高台,迫使敌军不敢轻易登台。同时,兆惠派出5人分路向阿克苏告急,催援军相助,大和卓木波罗尼都也亲率步骑5000从喀什噶尔赶来,与小和卓木霍集占会师围攻清军。清军“掘壕结寨”,“筑长围以相持”,同1万多名叛军坚持了长期的苦斗。这就是有名的黑水营之围,叛军施用炮轰、水淹、偷袭火攻等办法,而清军机动灵活,勇敢迎战,粉碎了敌兵的一次次攻击。双方相持3个月之后,黑水营仍岿然不动。兆惠足智多谋,在一个深夜派兵纵火袭击大小和卓木的两处军营。这时回兵里盛传布鲁特人已抢劫了英吉沙尔城,波罗尼都深感忧虑,怀疑兆惠已与布鲁特有盟约,其袭击自己后方同时借机破围。大小和卓木决定用缓兵之计与兆惠议和。却不料兆惠态度强硬,扣住回兵使者,用箭射书出营,告诫大小和卓木说,议和的先决条件是他们2人必须入京觐见大清皇帝。大小和卓木见兆惠态度如此强硬,以为他必有援军将至,不敢与兆惠再继续作对,甚至提出愿意向兆惠军中资助粮饷,并撤去长围。兆惠仍坚持原则,波罗尼都无可奈何,又担心英吉沙尔城的安危,于是不顾霍集占的反对,率兵返回喀什噶尔。
黑水之战刚开始时,靖逆将军纳木扎勒、参赞大臣三泰率兵200骑急赴兆惠大营援助。不料途中遭3000敌军突袭,一夜激战清军几乎全部阵亡。10月下旬,兆惠的两封告急文书先后送到阿克苏,清廷闻讯一面下令嘉奖有功官员、晋封兆惠为武毅谋勇一等公,一面命富德为定边右副将军,即刻调兵赴援。富德于11月10日得知兆惠军被围黑水河畔之后,立即令付都统鄂博什率兵500为前锋,自己亲率大兵4000人随后前往。富德军中途与从阿克苏出发的舒赫德的3500名大军东合于巴尔楚克(今新疆巴楚东南),时值12月下旬,西路清军冒着严寒前往赴援。乾隆二十四年(1759年)正月,清军在呼尔满与叛军大小和卓木率领的5000骑兵相遇,双方激战数10次,杀伤相当,波罗尼都受伤后退回喀什噶尔,清军也损失了较多的马匹。然后在沙漠地带,清军又遭叛军拦截,敌军抢占有利地形,清军则奋力冲杀,边战边走。此地距叶尔羌尚有300多里,富德心急如焚,然而叛军越来越多,清军一时难于脱身,与叛军激战了四昼夜。清军长途跋涉,结队而行,以火器弓箭射敌,战斗异常激烈。但因连日交战,清军人乏马困,而且叛军见清军战马损失严重,三番五次用骑兵冲击清军,并从四面合围,令清兵寸步难行,清兵粮饷告急,又少战马难以突围,人马饥渴难忍,一些官兵只得吃地上的碎冰片;勉强抵达沁达尔时,被叛军包围,清军人马疲惫不堪,无力突围,形势危急。突然又杀出一队人马,自东而至,回兵纷纷倒退。原来是巴里坤大臣阿里衮奉命率兵600、解马2000、驼1000,与爱隆阿率领的1000兵马同时赶到了沁达尔附近。富德喜出望外,乘势杀出重围,阿里衮与爱隆阿便将部队横张两翼,直扑敌阵,里应外合。回兵在夜里不辩虚实,加上清军声势雄壮,喊杀声不断,霍集占不敢恋战,忙下令撤退。回兵军心动摇,不战自溃。清军三路合而为一后又追杀回兵,大败敌军,次日凌晨才收兵回营,至此,三路清军沿途共杀敌千余名,伤敌数千,自己仅伤亡首余名,生俘50余名。清军士气大振,日夜兼程,同趋叶尔羌。正月十四日晨,援军先后赶到黑水河附近。黑水营内兆惠及清军将官对援军望眼欲穿,此时遥听营炮声大响,料知援军已到,兆惠及全军将士们欢喜若狂,集中兵力向外突围。营外清军则早已作了战略布置,以富德、舒赫德军为左翼,阿里衮、爱隆阿军为右翼,与营内兆惠配合默契,内外夹击,回兵则拼命抵抗,战斗异常激烈。几经激战之后,兆惠军终于冲破敌人的重围,几路大军联合杀死回兵数千名,霍集占见势不妙率残部渡河退守叶尔羌。清军会师,北上阿克苏休整过冬,并征集粮草兵马,以备再战。长达三个月之久的黑水营保卫战以清军的胜利而告结束。这次战斗的胜利得来不易,充分反映了清军将领兆惠的优秀指挥水平和全军将士团结一心、不畏强敌、誓死如归的英勇气概。
平定叛乱剿灭残敌兆惠率大军回到阿拉苏之后,立即派兵解了和阗城(即今新疆和田)之围,又先后收复了齐尔拉(今新疆策勒)、克勒底雅(新疆于田)、哈拉哈什(今新疆墨玉)等城。兆惠决定就地解决军队供给问题,用内地的布匹与当地的回民交换粮草,再用节省下来的运粮费近30万两银子购买驼马,结果兆惠迅速调集了2万兵力,战马3万匹,骆驼1万匹,然后兵,分两路,每路各有兵力1.5万,兆惠一路由乌什攻喀什噶尔,击大和卓木;富德由和阗攻叶尔羌,击小和卓木。时值乾隆二十四年春夏之交。
大小和卓木闻听清军将大举进攻,惶惶不可终日。4月份他们开始掠夺回民的粮食和骆马,并组织迁移家属和财产,打算毁城后西奔霍罕(今苏联浩罕)或巴达克山(位于今阿富汗境内)。由于叛乱不得人心,绝大多数回民见清军军纪严肃,决心留在城内迎接清军,大小和卓木无可奈何,只得分别带着少数宠臣和部队弃城逃跑,逾葱岭西遁。
富德率军在向叶尔羌挺进的途中,闻听小和卓木已狼狈逃窜到英吉沙尔,而该城大小伯克却甘心归附清廷,于是立刻遣鄂博什等率500骑为先头部队,迅速前往叶尔羌,富德大军几天后也兵临叶尔羌城下,回民打开城门,欢迎清军入城。
兆惠一路从阿克苏出发后,路途畅通无阻,抵达喀什噶尔时同样受到回民的热情欢迎。大小和卓木汇合后,逃往色勒古勒方向。参赞大臣明瑞率精兵2000,每兵2马,从近路急迫,终于在霍斯库鲁克岭追上敌军。霍集占将6000多回兵列阵于山头,居高临下迎战。清军勇猛冲击,由山下往上猛冲。霍集占边战边退,唯恐清军大队人马追来难以脱身,逃向巴达克山方向。明瑞边率军追击,边派人通知兆惠和富德的两路军队。