1871年底,沙俄和阿古柏几乎侵占了全部新疆领土,而陕甘叛乱的局势也逐渐稳定,左宗棠派出12营6000余 先锋将士 在统帅徐占彪带领下扑向肃州,意欲彻底平定陕甘叛乱,同时打通河西走廊,为将来收复新疆提前做好准备。
而此时马文禄已盘踞肃州6年,按左宗棠所奏,马文禄对汉民“残杀其精壮,掳辱其妇女”(左宗棠《克复肃州尽歼丑虏关内肃清折》)
面对清军的征讨,马文禄 收编了被左宗棠一路赶来的陕西叛军马长顺、冯君福等部,又请来 流窜至青海的陕西叛军毕大才、马五九等部2000余人的支援。马文禄还勾结侵略新疆的阿古柏,阿古柏派出了援军3000余人支援肃州。再加上马文禄自己原本的数千手下和 临时征发的当地百姓,肃州城内的叛军总数已有数万人。

1872年徐占彪率部开始进攻肃州。到1873年,战争持续一年有余,却始终未能攻下肃州。期间清军三次增兵,悍匪白彦虎也率数千败退之军支援肃州。清廷对此甚为不满,连连催促左宗棠速破肃州,限令“克期攻拔,以安边圉”。
1873年9月23日,左宗棠抵达肃州亲自督战,可接二连三强攻失败,使左宗棠越发焦虑,10月3日,又调刘锦堂的湘军全力合攻。
此时各地支援的叛军已四散,白彦虎也带领其残部退往新疆,肃州已成孤城。而且清军一年多的围困,肃州城内粮草已尽。叛军为了充饥,先是宰骡马充饥,后来马文禄竟以城内汉民百姓为食,用人肉配上一点杂粮分给叛匪士卒为食,残忍至极。但尽管如此,他们仍在坚守城池顽固抵抗。

1873年10月29日,肃州外城终于被攻破,马文禄走投无路,只能向左宗棠投降。
然而,丧心病狂的马文禄自知在肃州所作所为必死无疑,在投降前竟令残部屠尽城中汉民百姓。
破城后清军被城中屠杀惨象所激怒,自发进行复仇,俘虏的5400余名叛匪及其家属尽数被杀。而罪大恶极的马文禄,也被左宗棠下令车迟处死。
这也是左宗棠平定陕甘叛乱中仅有的一次杀降,对此左宗棠曾自述道:
“弟自办军务以来,于发、捻投诚时,皆力主'不妄杀,不搜赃'之禁令,弁丁犯者不赦。而于安插降众一事,万为尽心。即如克复肃州时,尚有不能尽行其志者。”
即“自从我开始负责军事事务以来,对于投降的发匪(指太平天国起义军)和捻军(指北方的农民起义军),我一直坚持‘不随意杀害,不搜刮财物’的原则,如果有士兵违反了这些规定,我是决不宽恕的。然而,肃州一战中,我不得不承认,我并没有能够完全按照自己的意愿去做。”
结合一下2024年10月16日,辛瓦尔死前杀死剩下的6名人质,我只能说,某教千百年的德行是没变过