司馬勳

长于北方

司马勋十多岁时，晋愍帝于长安向汉国将领刘曜出降。司马勋于是成了刘曜部将令狐泥的养子。长大后擅长骑射，左右手皆能射箭。至咸和六年（331年），司马勋从关右地区南奔东晋，自称“是大长秋恂之玄孙，冠军将军济南惠王遂之曾孙，略阳太守瓘之子”，获授任谒者仆射，以勇气闻名。

受掌梁州

建元二年（344年），梁州刺史桓宣离职，征西将军庾翼请以司马勋代其为梁州刺史，因庾翼移镇襄阳，故司马勋初镇西城（今陕西安康），后退守武当。永和三年（347年），安西将军、荆州刺史桓温灭亡成汉。因益梁二州故土重新纳入晋朝版图，故司马勋亦移镇原本的梁州治所汉中。

征伐西土

永和五年（349年），后赵皇帝石虎去世，诸子争位而令国内大乱，当年司马勋就经骆谷入关中，击破后赵长城戍，并进据悬钩。司马勋当时离长安只有二百里，于是派部将刘焕进攻长安，并攻破贺城。虽然当时关中人都杀害后赵官吏以响应司马勋，但司马勋却遭到赵将领麻秋的抵抗。司马勋自知兵少，难以抵抗麻秋，于是唯有退兵。次年，氐族人苻健乘机入据关中并于永和七年（351年）称王。当时杜洪与张琚据有陇东，派人招引司马勋，司马勋于是率领步骑三万，自汉中进入秦川。不过当时同时苻健派兵防御司马勋，司马勋屡战皆不利，并于五丈原败于苻健，于是退回汉中。
另一方面，虽然东晋收复了成汉所据的故土，但蜀地未稳，仍有数场叛乱，包括振威护军萧敬文于涪城的叛乱。桓温曾派邓遐与益州刺史周抚一同进攻但都不能击败对方。最终在永和八年（352年），桓温派司马勋与周抚联手进攻才成功平定萧敬文，安稳蜀地。

桓温北伐

永和十年（354年），桓温北伐，同时亦命司马勋从子午道出兵，一同攻伐苻健的前秦。虽然桓温主力在蓝田县击败前秦军并进据坝上，威胁长安，但却没有继续进逼，反给予机会让前秦军喘息。前秦丞相苻雄于是乘几率七千骑在子午道击败司马勋，逼他退屯女娲堡。司马勋及后与响应北伐的前凉将领王擢一同攻陷陈仓，但此时桓温作战不利，且兵粮不继，已经退兵，苻雄于是集结力量进攻陈仓，将司马勋及王擢击败。司马勋唯有返回汉中。

叛乱失败

后来，司马勋升征虏将军，监关中军事，梁州刺史领西戎校尉，并获赐爵通吉亭侯。然而司马勋为政暴虐严酷，属下官员及梁州豪族一旦说了不中听的话都会当场被斩首或被司马勋引弓射杀，故此当地人都视司马勋是祸患，十分担忧。另一方面，司马勋亦有占据蜀地的心意，竟有割据一方的意图。桓温知道后试图安抚，以其子司马康为汉中太守。然而，司马勋心意已决，只因害怕益州刺史周抚而不敢发难。
兴宁三年（365年），周抚去世，司马勋在当年十月便起兵叛乱，经剑阁入蜀，当时梁州别驾雍瑞及西戎司马隗粹都恳切谏止，但都遭司马勋杀害。司马勋亦自称梁益二州牧、成都王。司马勋自剑阁攻涪城，西夷校尉毌丘𬀩弃城而逃，司马勋于是进围成都，益州刺史周楚坚守城池。桓温知道司马勋叛乱后，就派了江夏相朱序率兵救援周楚。次年三月，荆州刺史桓豁亦派督护桓罴进攻汉中司马勋的根据地。至五月，朱序于成都击败司马勋部队并生擒他，并与其子司马龙子、长史梁惮、司马金壹等送到桓温所镇的姑孰，皆被斩首，并传首京师建康。