晋泰始四年至于五年(268—269)间,河西、陇西地区连年大旱,当地民众深受其害,数十万人嗷嗷待救。秦州灾区胡汉混杂,尤以河西鲜卑人数最为众多。正因怕出事端,司马炎派遣悍将
胡烈前往镇守。
胡烈到任后,采取高压手段处理问题,先屯兵于高平川(今宁夏固原市清水河流域),后又派兵进占麦田一带(今甘肃、宁夏两省区的靖远、中卫两县市交界地区)的“河西鲜卑”聚居地。结果,不仅失羌戎之和,更加剧了灾区难民的痛苦。
泰始六年(270年)六月戊午,秦州刺史
胡烈率军征讨,与秃发树机能战于万斛堆,兵败身死,胡烈死后,树机能军队士气大振,率部一举攻下高平。扶风王
司马亮遣将军刘旂前往救援,刘旂观望不进。晋武帝司马炎下诏罢免司马亮,又命尚书
石鉴行安西将军,都督秦州诸军事,与奋威将军
田章率大军西征。石鉴与时任东羌校尉、轻车将军
杜预发生矛盾,杜预拒绝对鲜卑叛乱的盲目出兵,被石鉴诬陷,被免职押解回京,既而石鉴讨伐秃发树机能,依然无法战胜。
七月丁未,司马炎又命汝阴王
司马骏为镇西大将军,都督雍凉等州诸军事,坐镇关中。西晋军队和鲜卑军队经过一年多的交战,秃发树机能不但没被消灭,反而联合了氐、羌、匈奴等部落共同反晋。各族联军中,尤以北地郡(陕西耀县)的匈奴人最为强悍,号称“北地胡”。西北地区的各族相互策应,并肩战斗,使西晋王朝丧城失地。
泰始七年(271年),秃发树机能联合北地胡攻打金城,在青山击杀凉州刺史
牵弘。后又杀凉州刺史
苏愉于金山(今甘肃省山丹县南)。及泰始末至咸宁元年(275年),秃发鲜卑的势力由凉州金城郡(治榆中县,今甘肃省榆中县西北黄河南岸)西北更向西发展。高昌以东的一些鲜卑部落也起而反抗晋朝统治。由于晋军连连战败,司马炎寝食难安,又命
贾充镇守关中。但由于贾充在这时与司马炎结成儿女亲家,因此而做免。
咸宁三年(277年),局势更加恶化,猛将
文鸯临危受命,三月,率凉、秦、雍州三州之军大破秃发树机能,诸胡二十万口来降,经此一役,河西鲜卑实力大损。但仅过一年,秃发树机能就命部将若罗拔能在武威大破晋军,杨欣成了第三个战死的凉州刺史、第四个被鲜卑阵斩的封疆大吏。秃发树机能纵横西北,威震天下,仆射李憙请发兵整讨,但朝议都以为出兵重事,鲜卑不足以忧虑。
咸宁五年(279年),秃发树机能乘胜攻下凉州,司马炎非常后悔,临朝哀叹说:“谁能为我讨伐这个叛胡?”
马隆请命而往,率三千五百勇士西征。期间,匈奴
刘渊也自请而往,孔恂、杨珧坚决反对,认为刘渊的祸患远大于秃发树机能。
马隆向西渡过温水,秃发树机能等人带领几万名部众凭借险阻抵抗。因为山路狭隘,马隆就造了扁箱车,还造了木屋,置于车上,边作战边前进,走了一千多里,打得鲜卑军队死的死,伤的伤,损失惨重。自从马隆西去,音讯断绝,朝廷为他担忧,有的人说他们已经都死了。后来马隆的使者夜里到了,晋武帝拍着手高兴地笑了。清晨,召集群臣对他们说:“假如听从了渚位的意见,就没有凉州了。”于是下命令,赐给马隆符节,授官宣威将军。马隆到了武威,鲜卑部落首领猝跋韩且万能率领一万多部落来归降。十二月,马隆与树机能大战,杀了树机能,凉州于是平定。秃发树机能死后,秦凉的诸胡部队失去了领袖人物,顿时土崩瓦解,纷纷向马隆投降,不愿投降的,也都各自逃生去了。秦凉之变至此结束了。其堂弟
秃发务丸及后接替他成为秃发鲜卑的首领。
在历时九年的秦凉之变中,秃发树机能带领河北鲜卑屡挫晋军,为了镇压河西鲜卑,司马炎几乎将晋朝名将尽数派遣至西北战场,前后丧失了了四名驰骋西北的封疆大吏,损失了几万人的部队,影响到西晋王朝的整体局势。
司马炎:秦凉二境,比年屡败,胡虏纵暴,百姓荼毒。遂使异类扇动,害及中州。虽复吴蜀之寇,未尝至此。
房玄龄:壮果多谋略。泰始中,杀秦州刺史胡烈于万斛堆,败凉州刺史苏愉于金山,尽有凉州之地,武帝为之旰食。
蔡东藩:豺狼生性本猖狂,聚众咆哮敢肆殃。不信晋朝开国日,已闻叛贼树西方。