劉鬆山在11月2日命令部隊夜間起床,攜帶幹糧,分五路向靈州進軍。來到靈州城南,隻見到處都是水窪,最淺的地方,水都淹到馬腹。

劉錦棠和蕭章開率部分左右兩隊鳧水前進,劉鬆山率部直搗中堅,攻克外卡。回民軍騎兵從城東出兵,包抄湘軍。平江人餘虎恩率領騎兵左隊,雙壽率領騎兵右隊,一同發起反擊,董福祥的步兵助戰。鏖戰良久,回民軍奔向東南。

劉錦棠和蕭章開的部隊已逼到城下,斬開關卡,一擁而進。回民軍打開東門出城。湘軍攻占靈州,並攻克城南的石壘,俘虜和斬殺二千多人,搜捕到回民軍首領馬元龍、馬致和與郭有利等人,將他們全部處死。此外,湘軍還解散七百多名漢民,繳獲一千多頭騾馬。

當晚,劉鬆山留下部隊防守靈州城,自己率部奔向買家莊,令劉錦棠和蕭章開率部奔赴海子墩,將這些地點攻克。周邊寨堡裏的回民軍,見到火光衝天,把天色照得如同白晝,便開門逃走。

第二天,湘軍各部返回靈州,劉鬆山派黃萬友和李樹棠兩營駐守。

11月4日,劉鬆山自己率領騎兵和步兵返回下橋,督率劉錦棠等部分別攻打裏仁渠等回民軍堡壘,攻下八座寨堡和兩座莊子。

這時,在蘭州附近的狄道境內,楊世俊部接連擊敗陝西的回民軍,迫使回民軍返回河州。黃鼎率部奔赴靜寧,收撫投降的張貴所部。

左宗棠派楊世俊和徐占彪的部隊分別駐防安定、會寧與靜寧,省城蘭州的驛路通行無阻。

雷正綰和周蘭亭率部攻打中寧的張恩堡,回民軍先鋒袁希孟率部投降。簡敬臨和張福齊也率部從同心的韋州鎮趕來,分兵駐紮秦渠內外,距金積堡遠者十幾裏,近者七八裏。

左宗棠見部隊繁雜,擔心號令不能統一,命令各部都聽劉鬆山的將令。劉鬆山自從遭到非議以來,治軍未曾鬆懈。現在金順把劉鬆山所打的勝仗奏報上去,清廷下詔嘉獎他謀勇兼優,以前登記在案的舉報全部銷毀。劉鬆山終於鬆了一口氣。

金積堡內,馬化龍仍在猶豫不決,安撫一事久未定奪。

11月10日,劉鬆山出兵秦渠以南,進軍板橋和蔡家橋,企圖剪除金積堡的羽翼。不久,堡寨裏號角聲四起,回民軍憑渠發炮。

劉錦棠等部越過橋卡,鳧水包抄,將回民軍擊退。餘虎恩和雙壽的騎兵追擊,驟若風雨。餘虎恩被回民軍戳傷左膀,墜落馬下,但他立刻上馬再戰。回民軍無法返回堡寨,守寨者望風心驚,紛紛開門向西撤走。湘軍攻下三十多座村寨。

湘軍的這次攻擊對馬化龍有了立竿見影的效果。他於當晚再次請求安撫。第二天,他代替陝西的回民軍交出七十七匹戰馬和一百五十件槍矛。劉鬆山認為太少,限他在三天內全部交出。

馬化龍又交出幾百件爛朽的武器和幾百匹瘦馬,劉鬆山知道他還是沒有誠意。這時馬正和與餘彥祿所部陝西回民軍剛剛投降,而陳林和馬長順的回民軍仍在抵抗。馬化龍擔心湘軍發起攻擊,又交出八百八十二頭騾馬,一千零七十件槍械。

劉鬆山想,人多必然心事雜,時間拖久了,必然會另生變故。他見吳忠的回民都遷走了,堡寨空著,便讓願意接受安撫的人安插到其中。不料陳林集結部隊攔截,馬正和也率部協助,那些已經投降的首領無法製止,局麵更加不利於安撫了。

左宗棠於11月28日在涇陽接受總督官印,周開錫從福建護解軍餉來到陝西。

周開錫自左宗棠離開福建後,便代理福建巡撫,仕途方始開闊。但他仍然遭到妒忌誹謗,無法再攀高峰。左宗棠聽說他在福建做官,頗為艱難,便上奏清廷,請求派他的這位學生總統南路部隊,穆圖善仍駐紮蘭州防守。清廷準奏。

周開錫的軍事任務,是扼守從陝西南部通向甘肅蘭州的重要通道秦州,也就是現在所說的天水。周開錫到來之前,穆圖善派了幾十營甘肅清軍駐紮在這裏,副將範銘所部本地團勇一萬多人也擠在這裏,兵員冗雜,不守紀律,互不買賬。甘肅清軍在狄道遭到挫敗,士氣低落,朝不保夕,將士當中,無人堪當重任。左宗棠把周開錫留下,指揮部隊,兼理民事,完全可以放心了。

周開錫上任以後,在秦州兼管地方厘稅和錢糧。他裁汰多餘的兵員,革除陋規,開設屯田,製定課稅。他把範銘和穆圖善的十營部隊調到鞏昌駐紮,把他們孤立起來,使那些軍爺無法搗亂。

這時崔三邀請狄道與河州的回民軍出兵作戰,穆圖善派傅先宗所部將回民軍擊敗。楊士恭的回民軍聯合陝西回民軍援應納王各寨,金順與張曜所部在寧夏發起攻擊,接連獲勝。

左宗棠於12月3日移駐平涼。

劉鬆山認為金積堡回民軍的情況難以判定,於12月5日約定雷正綰、張福齊、簡敬臨和周蘭亭一起率部攻擊。適逢金運昌率部從靈州趕來,湘軍各部在金積堡周邊集結。

各路回民軍見湘軍將要發起猛攻,紛紛從金積周邊的寨堡出兵阻擊。於是劉鬆山下令拉寬戰線,回民軍的步兵一見這種陣勢,都往後退縮。劉鬆山命令騎兵和步兵進行夾擊,回民軍大潰,湘軍攻下二十多座寨堡。

12月10日,劉鬆山令部隊修築新壘,逼近回民軍,一邊攻擊一邊修築。金積堡的回民軍大為驚慌,連夜遷徙到東西兩麵的各個寨堡躲避,傍靠波浪湖修築長約三裏的長牆,以圖固守。

12月11日,劉鬆山約好各部攻擊長牆,將長牆搗毀。簡敬臨打算與劉鬆山會師,繞過波浪湖,從回民軍的壁壘間穿插而過,被回民軍重創,簡敬臨戰死。

12月14日,回民軍再次修築長牆,從金積堡外濠向東延伸,長約三裏,又向南延伸到波浪湖,長約一裏。

12月15日,劉鬆山指揮部隊突擊長牆,回民軍殊死抵抗,擊斃提督李就山和湘軍官兵三十八人,湘軍二百四十六人負傷。

12月16日,回民軍繼續傍湖修築長牆。

12月17日,劉鬆山的部隊會同金運昌所部攻打長牆西北部,劉錦棠等部攻打東北部,搗毀長牆。

12月19日,劉錦棠和蕭章開所部攻打各莊炮台,全部攻破。

與此同時,其他湘軍部隊也在金積堡以南的同心一帶,與回民軍發生戰鬥。

當雷正綰、周蘭亭、張福齊和徐文秀的部隊移攻金積堡之後,左宗棠認為平涼、固原、慶陽和涇州一帶千裏空虛,命令周紹濂分兵駐紮黑城、李旺和同心各堡,命令桂錫楨的騎兵駐紮四百戶,命令丁賢發部從鎮原開到固原,命令魏光燾和劉端冕所部從慶陽與合水前進,形成犄角。

馬光明率領回民軍從固原東北沿清水河向西北方推進兩百多裏,奔向同心城,被桂錫楨的騎兵擊退。馬光明又率部長驅東進兩百多裏,夜襲洪德城,魏光燾部從環縣北上增援。馬光明下令解除對洪德的包圍,趕緊撤向東南,勸說華池縣元城的海生春等人出兵白家黨(左邊一個黨右邊一個抱耳),襲擊薑家坬。

魏光燾和丁賢發兩部聯合攻克元城,丁賢發又率部在白家黨(左邊一個黨右邊一個抱耳)再次挫敗回民軍。海生春害怕了,向湘軍請降,魏光燾受降,將海生春所部八百多人安置在白家黨(左邊一個黨右邊一個抱耳)。

楊世俊率部在甘肅南部的禮縣固城、清水與安定紅土窯攻擊回民軍,屢次獲勝。馬正和為了補充軍糧,勸說崔三和白彥虎等人和他一起,率部從狄道向東北方長驅直進,襲擊同心,奪得糧食以後向北挺進,從背後襲擊雷正綰各部,以解金積堡之圍。

徐占彪與楊世俊所部偵察到馬正和所部的動向,在安定的巉口鎮攔截,將回民軍擊敗。回民軍分別從魯家溪與好麥田奔向西南,黃鼎率部抵達靜寧,前往會寧攔截。