馬文祿在肅州城內,於5月份發現清軍已經合圍,便每天放出漢民和婦女,減少城內的糧食消耗。馬文祿還打算奪取禮拜寺,取道塔兒灣,跑出嘉峪關。
徐占彪為了防止馬文祿的部隊突圍逃跑,下令加挖重重濠溝,將他們困在城內。
馬文祿見突圍艱難,打算將眷屬殺死,輕裝突圍。
宋慶所部於6月份全部抵達肅州,在城東修築壁壘駐紮。清軍的聲勢浩大。白彥虎率部西逃關外,進入玉門、安西和敦煌境內。
徐占彪約好各路清軍,在肅州城西禮拜寺修築炮台,安置後膛巨炮。6月25日,徐占彪下令發射一百五十炮,城牆磚石頓時坍塌,但牆身並未開裂。
第二天,徐占彪又下令發射一百二十炮,炸垮多處城牆,但馬文祿的部隊很快就砌補起來。
宋慶和徐占彪商議一番,下令在東關附近修築炮台。金順也令部隊修築炮台,與徐占彪所部的炮台互為犄角。
7月10日,各部接連發射一百幾十炮,將城牆炸開六七丈的缺口,但是部隊被濠溝阻擋,無法通過。濠溝深達三四丈,冬夏兩季都不幹涸,這就是古代所謂的酒泉。
7月29日,徐占彪挑選出精壯的軍士越濠攻城,徐占彪領頭衝上城牆,金順和宋慶兩部蜂擁而上,一舉攻克東關。
馬文祿命令部隊縱火焚燒房屋和糧草,逃入大城。每天派出精銳部隊與清軍巷戰。徐占彪左腿被槍彈擊中,約請金順和宋慶的部隊駐紮東關,自己撤到濠外養傷。
左宗棠見圍攻肅州的部隊勞戰已久,而統領大將又負了傷,便提出親自前往肅州指揮。他於9約8日從蘭州出發,於10月3日抵達肅州城外,坐鎮城南。
10月6日中秋節,徐占彪和楊世俊所部填濠登城,馬文祿的部隊奮力抵抗,清軍無法登上城牆。
10月7日,金順下令引發地雷,炸塌東北角城牆,遊擊張林先登,中炮身亡。、
10月8日,徐占彪和楊世俊所部又在肅州城西和城南占據地道,於10月10日同時引發地雷。楊世俊率領奇捷營先登,剛上城牆,被炮火流彈擊穿頭部,當場斃命。
徐占彪仍然督促將士猛攻,副將和下級軍官有五十多名陣亡,五百多名士卒負傷。、
左宗棠見仰攻損耗部隊精銳,便下令停止攻擊,增挖濠溝,加修壁壘,進一步圍困馬文祿。
劉錦棠所部從西寧開到甘州,聽候調遣。左宗棠命令他率部到肅州協助攻擊。
10月30日,劉錦棠和黃萬鵬率領五營湘軍抵達肅州,命令投降的回民軍將領馬福壽等人每天騎馬馳到城下,呼喊馬文祿及其所部將領,對他們說:“你們的死期要到了,請為自己妥善謀劃!”
這種攻心戰很快就發生了效力。馬文祿懇求率部出城,接受安撫。
11月4日,馬文祿親自來到大營參見左宗棠,磕頭請求饒命。金順、宋慶、徐占彪和劉錦棠都在座。左宗棠令馬文祿先交出馬匹和武器,然後造出本地和外來回民的名冊清單,聽候安插。
左宗棠下令,甘肅籍貫的回民出城到東門外集合,由宋慶負責按名冊點驗,關外沙州籍貫的回民由金順負責按名冊點驗。西寧、河州、循化和陝西籍貫的回民到南門外集合,由劉錦棠和徐占彪負責按名冊點驗。各部預先在廢棄的村堡中將回民按男女分開安置。
11月11日,經過核對名冊和籍貫,從城內分辨出一千一百多名男女漢民。
11月12日,左宗棠下令提出馬文祿及其部屬將領八人,處以磔刑。三聲炮響後,金順、宋慶、徐占彪和劉錦棠所部,分別屠殺外來回民一千五百七十三人。夜間,各部入城放火,屠殺當地回民五千四百多人,拔出老弱婦女九百多人。
到此為止,清軍平定了肅州。左宗棠命令三十三歲的衡陽人譚上連帶領總兵戴洪勝和提督金慶元駐防肅州,監督修複肅州城牆。
譚上連在1858年加入湘軍,本為李續宜和蕭慶衍舊部。後來跟隨劉鬆山與撚軍作戰,隨後一起轉戰甘肅,也參加了對金積堡的圍攻。左宗棠對他十分看重。
左宗棠向清廷告捷,清廷下詔,任命左宗棠以總督身份協辦大學士,改騎都尉為一等輕車都尉世職。賞給徐占彪雲騎尉世職。賞給宋慶與張曜雙眼花翎。其餘將領都給予不同程度的獎賞。
左宗棠認為,甘肅全境的肅清,實在是有賴於劉鬆山直搗金積堡,戰死以後,由劉錦棠繼續攻戰,才得以將馬化龍處死,從此甘肅的戰事迎刃而解。於是,他請求將所得的一等輕騎都尉世職追賞給劉鬆山。清廷下詔褒獎。劉鬆山已得三等輕車都尉,再加賞一等輕車都尉,並封為男爵,令其過繼的兒子劉鼐承襲。
從此以後,陝西甘肅兩省的回民也有一些動靜,但再也沒有造成影響了。
白彥虎的部隊出關以後,金順派兵追擊,副都統明春和辦事大臣文麟也派騎兵追趕。白彥虎率部逃進山裏。
白彥虎所部於7月份襲擊阿畢米特,代理烏裏蘇台將軍常順上奏,請清廷催促金順率部出關。
秋天,白彥虎率幾千名精銳分別襲擊烏魯木齊和綏來,徐學功率部橫出攔截,斬殺幾百人,奪得五百匹駱駝和大量物資。
白彥虎覺得自己勢力單薄,便與原浩罕國的安集延人聯合,他們的首領帕夏凡有需求,白彥虎都予以滿足。於是,安集延人越來越富,當地回民越來越窮。
湘軍於11月份進占肅州以後,清廷就新疆問題下詔說,現在關內已經肅清,應該立刻乘此聲威,掃除關外的造反者。命令金順迅速趕赴古城,會同景廉收複烏魯木齊。穆圖善久駐涇州,兵力閑著無用,應立即趕赴玉門、安西與敦煌一帶,以壯聲援。哈密尚未解圍,張曜和宋慶所部久經陣仗,辦事奮勇,應立即馳往哈密,會同文麟與明春作戰。各軍糧餉,由左宗棠源源接濟,不能讓部隊缺乏糧餉。
清廷沒讓左宗棠西進新疆,隻要他負責為西進部隊提供糧餉,是體諒他積勞在身,不忍叫他馳騁沙漠。