劉錦棠於8月份派湯仁和等人從托克遜進兵。

9月7日,董福祥和張俊等部從阿哈布拉沿途設置哨壘,張春發所部隨後跟進,都抵達曲惠紮營。部隊帶著糧食,挖掘泉水,一路相接,等待主力。

劉錦棠率主力行軍五天,於9月27日到達曲惠,餘虎恩和黃萬鵬所部經過烏沙塔拉,沿博斯騰淖爾西行,進抵庫爾勒後背,劉錦棠親自領兵奔向開都河。

開都河源出天山之麓,匯流南下,從喀喇沙爾與庫爾勒貫穿而過,向下流注博斯騰淖,古代稱之為泑澤。

白彥虎命令部隊壅塞開都河,河水溢泛一百多裏,阻擋了湘軍的道路。劉錦棠令騎兵和步兵繞過博斯騰淖,在堿地行軍,迂回到開都河以東。白彥虎部已經奔向庫車。

劉錦棠部於10月7日收複喀喇沙爾。城內積水深達幾尺,廬舍**然無存。劉錦棠召來台吉,將幾百戶蒙民遷入城內。

餘虎恩所部於10月9日收複庫爾勒,城內空無一人,糧食告盡,從地窖裏挖出幾千石糧食供給部隊。

劉錦棠所部探子來報,白彥虎脅迫纏頭和回民奔向布告爾。黃萬鵬率部急行軍四百裏,抵達洋薩爾,隻見各堡火光衝天,知道白彥虎部縱火以後離去不遠,便令後隊救火,前鋒追趕,在布告爾追到白彥虎部。

兩軍接戰,黃萬鵬和譚拔萃率部衝殺過去,白彥虎部受挫,連忙逃走。

第二天,湘軍追出四十裏,用西洋測微鏡了望白彥虎部,發現對方部眾仍有幾萬人,但隻有一千人持有槍矛。

劉錦棠下令:“隻殺持有武器者,其餘不管。”

部隊得令,立即出擊。白彥虎部丟下難民,顧自狂奔。劉錦棠遣返所有難民,要他們重操舊業。他自己領著精騎繼續追趕白彥虎。

劉錦棠部於10月18日追到托利賴,一萬多名纏頭和回民伏地號哭。劉錦棠又加以撫慰,然後遣返。

10月19日,劉錦棠命令部隊五鼓時分帶糧出發,行軍幾十裏,抵達庫車。白彥虎剛剛驅趕著纏頭和回民朝西而去。纏頭和回民不肯屈從,都散步在城郊的原野上。白彥虎見到湘軍,倉促列隊。

劉錦棠令騎兵和步兵一齊衝鋒,白彥虎所部大奔,湘軍進占庫車。

這一仗,湘軍從庫爾勒在六天內馳騁九百裏,拔出約十萬名回族難民,左宗棠派人設立善後局來安撫。善後局籌備種籽,招耕招牧,治理灘塗,製造船隻,以通商賈。前來歸附的纏頭回民越來越多。

從托克遜到喀喇沙爾之間的蘇巴什山口,山徑曲折,一百七十裏的盤山路在陡壁之間盤旋,車馱過處,經常發生意外,湘軍在這裏劈石開路,使它成為一條坦途。

白彥虎率部西據拜城,與安集延的胖色提等人日夜搶掠城外纏頭回民來協助,村堡都成為廢墟,拜城回民閉關抵抗。

劉錦棠的部隊於10月21日開到,派通事告知城內守軍。拜城回民首領買賣提托呼達等人開城迎接湘軍,向湘軍投降。

劉錦棠留下長沙人方友升所部鎮撫,自己率部踏冰夜行軍,於10月22日到達銅廠,與白彥虎所部遭遇。

白彥虎集結兩萬兵力在河岸列隊抵抗,劉錦棠擊鼓,催動部隊衝鋒。白彥虎的騎兵全部潰散,死屍堵塞了河道,水不流動。

劉錦棠將難民全部遣返拜城,又催促所部渡過亂流,在上銅廠攻擊白彥虎所部,接連獲勝。於是,湘軍越過察爾齊克台,向西進軍。

湘軍越過一百四十裏戈壁,於10月23日抵達哈拉裕勒。10月24日,湘軍抵達劄木台,解下馬鞍小憩,然後進逼阿克蘇,遙望城牆上槍矛林立,西南方飛塵蔽天。

劉錦棠派偵察騎兵前往打探,得知前一天夜裏回民首領打算獻城求款,卻被胖色提綁走了。胖色提關閉城門,加緊防守,要求城內十萬多回民嚴陣以待湘軍。

劉錦棠將回民首領召到城外,曉以利害,並陳述安撫之意,回民都膜拜求撫。於是湘軍進占阿克蘇,在漢城駐軍。派部隊追到胡馬納克河,將白彥虎部擊敗。

湘軍抓到哈密回王邁合默特的母親,送她返回其部,發放資費,將難民遣返庫車。

白彥虎見湘軍步步緊逼,非常害怕,便唆使安集延人奔向葉爾羌,自己率部西奔烏什,企圖分散湘軍兵力,以延緩死期。

劉錦棠沒有中計,不去追趕安集延人,用所有兵力追趕白彥虎。他令黃萬鵬和張俊奔赴烏什,令譚盛典和夏辛酉等部從西邊過來會師。

10月25日,湘軍渡過故馬納克河,在戈壁中行軍八十裏,俘虜白彥虎部馬有才等將領。

10月26日,湘軍在烏什城東擊敗白彥虎部,攻克烏什。

第二天,湘軍追到阿他伯什,被戈壁阻擋,返回烏什。

到此為止,湘軍攻克了南疆的東四城。清廷得知湘軍冒著寒冷遠征,一個月內馳驅三千多裏,將劉錦棠開西寧道缺,晉升為三品京卿,對其他將領給予不同程度的獎賞。