十三日,兆惠据探马报知,叶尔羌城南有叛军的牛羊牧群,就留部分兵力守大营,亲率干余骑兵去抢截牛羊,好补充部队的给养,并可以诱敌出城作战。前面有河,清军夺占桥头,登桥而驰。想不到中了叛军的计策,兆惠率兵刚过桥400多人,桥忽然断了!城中随即冲出叛军5000骑兵、10000步兵,张开两翼攻围清军,并截断清军后路,使援军不能前进。兆惠身先士卒,率士兵力战,他的战马中枪死了,换了一匹战马,不久那匹英雄的战马又受伤倒下。兆惠的脸上和腿上也负了伤。清军许多战马陷在淤泥中。经过一场浴血奋战,兆惠率军杀出重围,来到河边,终于在天黑时浮水回到黑水营,掘壕固守。叛军连续5昼夜冲击清营,清军士兵身处危地,无不拼死一战,使叛军伤亡惨重,不能得手。叛军万余人乘势渡河,包围清军大营。
十四日,小和卓组织叛军向黑水营发动猛攻。兆惠指挥士卒边战边筑起临时工事。战斗持续了整整5天5夜。小和卓见强攻不下,就派兵筑长围,妄图困死清军。兆惠率领人数很少的士卒同1万多叛军相持,自十月至次年正月,3个月中进行了艰苦的防御战。当时天寒地冻,弹尽粮绝,援兵不至,无险可依。在此期间,叛军在上游挖河水灌清军大营,清军在下游挖沟排水。叛军枪弹如雨,清军大营建在林中,他们砍掉林木,由树干中挖出数万颗弹丸,再反过来打击叛军。叛军编织芦苇蔽体以防枪弹,前来进攻,清军就使用火来对付,又挖掘沟壕前进,以接近叛军突然打击。清军挖水井,掘窖粮,补充了给养。兆惠还把俘获的敌军士兵放回去,散布清军得神相助的谣言,以动摇敌军。但是时间长了,军粮渐尽,只得煮鞍革为食。
十一月间,布鲁特人抢掠了喀什噶尔所属英吉沙尔城,恰好黑水营清军纵火焚烧叛军的两座营。小和卓以为清军与布鲁特人有约,害怕被两面夹击,就暂时放松了攻黑水营。兆惠趁机派出5名士兵,分别往阿克苏告急,驻阿克苏头等侍卫飞章奏报朝廷。乾隆帝急命靖逆将军纳木札尔前往增援。驻阿克苏的定边右副将军富德与侍卫舒赫德与巴尔楚克合军,共率3000余兵,冒雪赴援。巴里坤办事大臣阿里衮领兵600,解马2000匹、骆驼1000头,兼程来援。
乾隆二十四年(1759年)正月初六日,富德、舒赫德所部遇由叶尔羌城而来的5000叛军,厮杀4日,清军且战且进。初九日,富德、舒赫德部已接近黑水营,却被叛军所围,处境危险。阿里衮率部赶到,拉开横阵,大呼猛进,两军会合作战,叛军退往叶尔羌。兆惠于黑水营中知援兵已到,立即组织所部突破包围,杀敌千余,烧毁其大营。叛军大败,退回叶尔羌城。十四日,兆惠军与援军会师,撤至阿克苏休整。“黑水河之战”以艰苦卓绝的胜利结束。
定边将军兆惠在叶尔羌城外坚守黑水营的重要防御作战有着极为重要的意义,此战使清军稳固地控制了黑水营等地区,进一步打乱了叛军的攻击意图,是至关重要的一次防御战。
兆惠回阿克苏休整后,小和卓见清军退去,乘势占领和阗所属两座回城。和阗共有6座回城,人6万户,盛产粮食,地理位置十分重要。所以乾隆帝一再催促兆惠,迅速收复和阗。四月,兆惠遣富德率部夺回和阗,大小和卓一时无计可施,便固守于喀什噶尔和叶尔羌,观望动向,其兵力约有10万。清军积极进行进攻准备。除兆惠、富德原有的8000清军外,又增调1万绿营兵,并配备了充足的攻城兵器,有11门大炮和许多云梯。六月初二日,定边右副将军富德率部由和阗出发,和阗6城伯克带650人回兵从征,进攻叶尔羌。六月十一日,定边将军兆惠率部由乌什出发,进攻喀什噶尔。两支清军密切协同,同时深入,且走且停,以息养马力。