他而且向俄国买了几百万斤粮食,运到古城子。
为了不让兵士在穿过哈密戈壁之时缺乏水喝,他派匠人先行出发,尽量疏濬沿途的水源。
这样,他足足准备了一年。光绪二年二月底,他的军队从兰州分批出发,以肃州为集合地。他本人也进驻肃州,在肃州扎下大营(称为肃州大营)。
又过了两个月,粮食与兵士分批一一到达前线。巴里坤存了六百多万斤粮,古城子存九百多万斤粮,另有一千万斤左右在安西、哈密等地等候续运古城子。有三员大将在他的麾下:“帮办军务”满洲人金顺、“前敌总理营务处”刘锦棠、广东提督张曜。左宗棠命令金顺驻扎在济木萨,刘锦棠驻扎在古城子,张曜驻扎在哈密。
对方的阵容是:马人得在乌鲁木齐,白彦虎在红庙子,马明在古牧地。
左宗棠在六月间亲临前线,到济木萨视察金顺的军队。他命令金顺进驻阜康。
敌人白彦虎也移师古牧地,与马明合力准备死守。
六月二十三日,刘锦棠奉命进攻古牧地,将古牧地包围,又击败了阿古柏来援的兵。五天以后,他打下古牧地,斩杀白彦虎与马明二人的部队六千余人。
第二天,刘锦棠进攻乌鲁木齐,不费一兵一卒占领该城。白彦虎、马明、马人得一齐逃走。
残余的东干部队,退守马纳斯。左宗棠命令金顺去攻,攻到八月,攻不下。左宗棠再派刘锦棠前往续攻,攻到十一月,破城。白彦虎与马人得退到托克逊,阿古柏叫他们去守吐鲁番,自己进驻喀喇沙尔(焉耆),另派一人叫做“大通哈”的,守达坂城;又派儿子海克拉守住托克逊。
左宗棠一面分兵收复北疆的昌吉、呼图壁、景化,一面准备将阿古柏彻底解决。
准备到次年(光绪三年)三月,一切就绪,左宗棠下令进攻。刘锦棠在三月初五日到达坂城,恶战一场,在第二天将达坂城占领,俘虏了大通哈及其大小头目,与来自南八城的军队以及几千名被裹胁的土尔扈特人。
刘锦棠把这些人释放,并且送他们衣服,送他们粮食。这些人回去以后,立即瓦解了阿古柏的军心。
八天以后(三月十四日),刘锦棠攻吐鲁番,马人得率领一万多部众请降,白彦虎溜走。
与吐鲁番及达坂城相犄角的托克逊,原由阿古柏的儿子海克拉守着。海克拉听说马人得不战而降,自己也就不战而逃,留下了三万多人,归刘锦棠接收。
阿古柏在喀喇沙尔急得天天痛哭,哭到四月间,服毒自杀。
他另一个儿子伯克胡里守住库车。
左宗棠于是又停顿一下,准备次一战役。这时候,清廷驻英公使郭嵩焘发出一种议论:“如不能速胜,可乘机议抚。”
原来,郭嵩焘是受了英国政府人士,尤其是一度曾任驻华公使的威妥玛的影响。英国人认为,中国不妨把南疆的八城放弃,交给伯克胡里,建立一个新的安集延王国,既可以作为印度的屏障,又可以阻碍俄罗斯的发展。
清廷把郭嵩焘的奏折抄发给左宗棠,征求左宗棠的意见。左宗棠回奏说:“安集延非无立足处,何待别为立国?抑别为立国,则割英地与之,或即割印度与之,可也;何为索我腴地以市恩?……彼为印度增一屏障,公然商我于回疆撤一屏障,此何可许?"
左宗棠不管英国人作何建议,仍旧准备他的次一战役。清廷中却又有人认为西征耗费过多。他们说:“乌城(乌鲁木齐)吐鲁番既得,(已经)有屯兵之处,(其余的地域)当众建(新国)以为藩篱,藉省兵力”。还有一些人,以为“海防”比“陆防”重要,不如省下一些钱,建立海军,修筑沿海炮台。
左宗棠的回答是:倘若放弃南疆,仍要在北疆设防;放弃北疆,也要在甘肃设防。钱那里省得下来?他留下了几句不朽的名言:“重新疆,所以保蒙古;保蒙古,所以卫京师。新疆不固,则蒙部不安;匪特陕、甘、山西各边防不胜防,即直北关山亦将无晏眠之日。况今俄人拓境日广,由西而东万余里,与我北境相连,仅中段有蒙部遮阂。徙薪宜远,曲突宜先,不可不预为绸缪者,此也......则设行省,改郡县,事不容已。”
到了这一年(光绪三年)八月初一,左宗棠收复南疆八城的准备已经完成。刘锦棠军渡过开都河,长驱直入,于九月初一占领喀喇沙尔;初三,占领库尔勒;十一,占领库车。伯克胡里仅有一千多武装部队,于略事抵抗以后撤走。十几万被裹胁而去的维吾尔族难民,被刘锦棠救出。
伯克胡里与白彦虎逃到拜城,拜城的老百姓闭了城门挡驾,他只得继续西奔。刘锦棠军于九月十五日到达拜城,拜城的老百姓开门投降;三天以后,阿克苏也入于刘锦棠军之手。