乱在1862年开始，左宗棠在1867年接任陕甘总督前清军处于劣势。左宗棠首先派刘松山进攻陕北，1868年十二月，刘松山军击败以陕北为根据地的汉人武装董福祥军，董福祥遂率领部众逾十万人归降，刘松山择其精锐编成清军三营加强兵力。然后左军进攻陕西回军马正和、白彦虎等部，至1869年五月肃清陕西境内的回军。陕西回军向甘肃北路回军马化龙部的根据地金积堡撤退。左军刘松山部等部队继续向金积堡进军，表面上归顺清廷的马化龙代陕回求和不成，又重新反叛。粮尽援绝的马化龙最终于1870年十一月向左宗棠投降，于1871年正月被处死。