这时,侦知敌人已发现清军主力开始行动。刘锦棠乃于10月3日命余虎恩、黄万鹏等率马步十四营取道乌什塔拉,沿博斯腾湖南岸指向库尔勒侧背为奇兵,5日,刘锦棠自率主力沿大路指向开都河为正兵。由于开都河泛滥,刘锦棠部一面搭桥修路,一面堵塞上流。10月7日,刘部抵达喀喇沙尔城,但城空无人.水深数尺,官署民舍,荡然无存。9日,刘锦棠与余虎恩,黄万鹏会合,接着进入库尔勒,同样是一座空城。原来白彦虎劫掠四乡秋粮后,已西逃库车。此时,清军粮食不继,刘锦棠一面传令后路迅速转运接济,一面令军士觅掘窖粮,获数十万斤。
刘锦棠根据敌军西逃库车,立足未稳等情况,决定亲率精兵乘胜追击。于是,从各营中挑选健卒一千五百名和精骑一千名,先行进发,命罗长祜率后队各营及辎重跟进。清军三昼夜疾驰四百余里,于10月15日追至布古尔(今轮台),击败敌骑千余,毙敌百余名。16日,追四十里,见前方步骑甚众,但用望远镜观察,其中持枪者不过千余人,余皆被裹胁西行的民众。刘锦棠立即传令:“执械者诛,余勿问!”顿时号鼓齐鸣,马步并进,敌军败逃。10月18日,清军追至库车城外,发现大量敌军。刘锦棠立即作出三路进攻的部署:命黄万鹏等率骑兵七营从右路进击,谭拔萃等率步兵三营继之;命章洪胜等率骑兵四营由左路进击,张俊等率步兵三营继之;刘锦棠自率骑兵从中路进攻,罗长祜率后队马步跟进。战斗开始后,敌军虽遭重创,仍然顽抗,直至罗长祜所率后队马步各营赶到战场时,敌始大溃。清军乘势收复库车,并追杀数十里,毙敌近千人。白彦虎率余部狂逃,企图继续投靠已在喀什噶尔称王的伯克胡里。
清军此次由库尔勒出发,日夜兼程,六天之内前进八九百里,歼敌虽只千余,但救出难民约十万人。左宗棠随即遣员设置善后抚辑局,办理各地善后事宜。
10月19日,刘锦棠率军继续西进,21日抵拜城,闻白彦虎于20日由此西逃,便决定穷追不舍。22日凌晨,清军将士冒着冰霜,不顾困乏,向西急进。抵达铜厂时,侦知敌军正在渡木杂喇特河(今木扎提河),清军立即扑向敌人,斩杀甚众。敌人顽抗,白彦虎军居左,伯克胡里军居右,列阵于上铜厂,“枪炮环轰,连珠不绝”。清军也张两翼包抄,奋勇冲杀。副将夏辛酉跃马突入敌阵,生擒敌右路指挥官,敌军顿时大溃。清军乘胜追杀,直至察尔齐克台(今拜城西南察尔齐)西三十余里。10月23日,清军师行戈壁,裹粮而前。敌军惊魂未定,只顾狂奔,不复拒战,清军遂于24日克阿克苏城。接着,一面安抚拒绝随敌西逃的群众,一面分兵追击敌人。
据俘虏供称:敌人为了分散清军兵力,自阿克苏以后分兵两路,阿古柏军残部逃往叶尔羌,白彦虎率余部逃往乌什。刘锦棠决定暂舍阿古柏军残部,专追白彦虎。他命黄万鹂,张俊马步两营直捣乌什,调谭慎典,夏辛酉各率骑兵从翼侧绕进。10月26日,在乌什城东击败小股敌人,次日追至乌什西九十里的阿他伯什地方,只见一片戈壁,并无敌军踪迹。原来,白彦虎已从间道逃向喀什噶尔。黄万鹏等回军阿克苏,清军大队也已抵达该处。张曜所部则正由喀喇沙尔向库车前进中。
(二)收复西四城
清军于一个月之内驰驱二千余里,经过两次较大的战斗,收复了南疆东四城(喀喇沙尔、库车、阿克苏、乌什)。这时,西四城(叶尔羌、英吉沙尔、和阗、喀什噶尔)的敌人内部已发生重大变化。和阗的叛军头目呢牙斯向清军请降,当闻知清军克库车后,即主动率兵围攻叶尔羌。伯克胡里闻讯,令其头目阿里达什留守喀什噶尔,自率精骑五千,前往增援,击败呢牙斯,占领和阗。当伯克胡里率兵进攻呢牙斯时,前喀什噶尔守备何步云乘机反正,率数百满汉兵民占据喀什噶尔汉城。阿里达什据回城自保,并约白彦虎围攻汉城;伯克胡里也赶忙回救喀什噶尔。何步云等派人到刘锦棠处乞援。刘锦棠原来计划先取叶尔羌,当得知喀什噶尔何步云反正的消息后,认为速克喀什噶尔是当务之急,于是不待张曜全军到达,便分兵三路前进;一路由余虎恩等率步兵三营,骑兵二营,从阿克苏取道巴尔楚克(今巴楚东)直趋喀什噶尔为正兵;一路由黄万鹏率骑兵六营、张俊率步兵三营,经乌什取道布鲁特边境出喀什噶尔西为奇兵,约定于12月18日两路同抵喀什噶尔,形成包围之势;刘锦棠自率马步各营,经巴尔楚克直捣叶尔羌和英吉沙尔,策应攻取喀什噶尔。12月17日,余虎恩、黄万鹏等部同时到达喀什噶尔,当晚一举收复该城。伯克胡里、白彦虎等在沙俄的庇护下,分别率残部逃入饿境。余虎恩、黄万鹏等分途追击,至边界而止。12月21日,刘锦棠亲自率领的清军收复叶尔羌,然后派总兵董福祥率部指向和阗,自率主力于24日收复英吉沙尔,随即前往喀什噶尔。1878年1月2日(光绪三年十一月二十九日),董福祥部克复和阗。至此,新疆全境除伊犁地区外,全部收复。
在收复南疆西四城的作战中,清军以破竹之势,横扫敌巢,生俘数千人(内有阿古柏子女八人,阿古柏军头目多人、叛军头目余小虎、马元及反动封建主金相印父子等),缴获各冲开花炮百余门、战马万余匹、枪械若干,取得了巨人胜利。
伊犁的索还
在收复新疆的战争进行过程中,清政府多次同俄国交涉,要求归还伊犁,但沙俄政府制造种种借口,拒不交还。阿古柏侵略势力被消灭以后,清政府乘胜向饿国索还伊犁,并要求引渡白彦虎等。沙俄政府一面答称,如果赔偿饿国占领伊犁之军费,可以交还伊犁,一面唆使白彦虎、伯克胡里残部等多次回窜,骚扰边境,企图借口边境未靖,缓交伊犁。清军粉碎了敌人的骚扰,并从俘虏口供及查获俄国所给的路票,证实这些骚扰均系俄国政府所指使。
俄国政府的阴谋败露,只得答应进行谈判。清廷派吏部侍郎崇厚为钦差全权大臣赴俄交涉。1878年底,崇厚到达俄都圣彼得堡(今苏联列宁格勒)。这时,俄土战争已经结束,狡猾的沙俄政府利用清政府深恐与俄国作战的心理,趁机敲诈。在沙俄的威胁讹诈下,崇厚于1879年10月在黑海岸边的里瓦基亚(靠近雅尔达)与俄方代表签订了丧权辱国的《交收伊犁条约》(即《里瓦基亚条约》)。条约规定:俄国归还伊犁东部地区,但由中国赔偿俄国占领费五百万卢布(合银二百八十万两),并割让霍尔果斯河以西地区和伊犁南部特克斯河流域领土,修改《塔城界约》所规定的斋桑湖地区国界,增辟由新疆到西安、汉口、天津的通商路线,在嘉峪关、乌里雅苏台、科布多、哈密、吐鲁番、乌鲁木齐、古城七处增设领事馆。这样,伊犁虽在名义上归还中国,实际上却变成一座三面临敌、险要皆失的孤城。这一讹诈性条约传出后,激起了中国朝野的极大义愤,以致“街淡巷议,无不以一战为快”。左宗棠也表示反对,主张对于解决伊犁问题必须“先之以议论,委婉而用机,次决之以战阵,坚忍而求胜”。而李鸿章则主张履行崇厚所订的卖国条约。清政府慑于朝野舆论,最后拒绝批准这个条约,并判崇厚“荒谬误国”之罪,逮捕下狱。1880年2月19日,清政府正式照会沙皇政府:崇厚所议条约“多有违训越权之处”,“窒碍难行”。同时,另派驻英法公使曾纪泽兼任驻俄公使,授权谈判改约问题。
俄国没有达到预期目的,恼羞成怒,决定对清政府施加压力。其驻华使馆代办凯阳德扬言:“俄国并非无力量,至条约准与不准,在俄国总是一样”。与此同时,沙俄在我东北、西北边境调集上万军队进行威胁,甚至出动黑海舰队到中国黄海示威,并增兵伊犁。清廷为了自卫,也在中俄边境和沿海地区采取防御措施,并命左宗棠部署新疆军务,准备用武力收复伊犁。左宗棠拟定了分三路向伊犁进军的计划:东路由金顺率步骑二十五营一万二千余人,扼住晶河一线,严防俄军窜犯;西路由刘锦棠率步骑二十八营一万一千人,取道乌什,从冰岭以西经布鲁特游牧地区直指伊犁,中路由张曜率步骑十九营八千五百人,从阿克苏冰岭之东,沿特克斯河指向伊犁。此外,以六千人分屯阿克苏、哈密为后应,以三千人增强塔尔巴哈台防务。准备参战的部队共约五万余人。5月,左宗棠“亲自舆榇出关,誓与俄人决一死战”。6月,左宗棠进驻哈密,积极部署进军事宜。然而,清廷却在沙俄的压力下“暂免”崇厚死刑,不久又将左宗棠调回北京。
同年7月底,曾纪泽由伦敦抵达圣彼得堡,与沙俄政府谈判。曾纪泽自称此行是“障川流而挽既逝之波,探虎口而索已投之食”,深知任务艰巨。但由于此时俄土战争结束不久,沙俄又忙于镇压中亚地区少数民族的反抗,已经没有多大力量进犯中国,特别是注意到左宗棠等的军事准备,加之对曾纪泽的威胁刁难又未收到预期效果,最后于1881年2月24日与曾纪泽签订了《中俄伊犁条约》和《陆路通商章程》,以代替崇厚所订的条约。中国虽收回了伊犁地区及特克斯河流域具有战略意义的一万九千平方公里土地,但条约规定“赔款”增加到九百万卢布,霍尔果斯河以西地区仍被沙俄强行霸占。条约还规定中饿已定的西北边界有“不妥之处”应重新“勘改”,为沙俄下一步继续侵占我国西北领土留下了伏笔。随后,沙俄根据这个条约的原则,于1882年至1884年与清政府签订了《伊犁界约》等五个子约,分段勘定新疆的中俄边界,把七万一千多平方公里的中国领土正式并入了俄国的版图。