永昌元年(322年),司马承在王敦之乱期间坚守湘州治所长沙,但长沙遭王敦叛军攻陷,司马承被收捕并在押往荆州期间被王敦指派的王廙杀害。当时司马无忌因为年幼而幸免于难。王敦之乱于太宁二年(324年)被平定后袭封谯王。
司马无忌后于晋成帝咸和年间任散骑侍郎,后多次升迁至屯骑校尉、中书侍郎和黄门侍郎。建元元年(343年)迁任散骑常侍,后转御史中丞,后又外出地方为辅国将军、长沙相,兼领江夏相,不久又转任南郡、河东二郡太守。
永和二年(346年),荆州刺史桓温率司马无忌和周抚等攻伐成汉,并于次年成功灭掉成汉,司马无忌亦因功进号前将军。永和六年(350年),司马无忌逝世,朝廷追赠卫将军,谥为烈王。
《晋书·卷三十七·列传第七》
《世说新语·仇隙篇》及《晋书》分别记载了一则司马无忌为报王廙杀害父亲之仇,而意图杀死王廙之子王胡之及王耆之的事。
1)司马无忌因为父亲死时仍然年幼,故此不清楚父亲死亡的真相,长大后更与王廙子王胡之十分亲近。一次司马无忌与王胡之出游,并且告诉母亲赵氏为其准备食物。但母亲却哭着将其父被杀的事告诉司马无忌,并说因为琅琊王氏门第强盛而一直不告诉他,以免招祸。司马无忌听后惊号,并且持刀走出要杀死王胡之,然而王胡之已经逃走到老远。
2)褚裒出镇江州时,司马无忌与丹杨尹桓景等人在版桥为他饯行,而当时任丹杨丞的王耆之亦在座。司马无忌此时竟图复仇,拔刀要杀王耆之,只因褚裒及桓景命人阻止才令王耆之免于被杀。事后司马无忌被御史中丞车灌弹劾,要治其谋杀的罪,但因晋成帝下诏给他一次机会,故得以以缴钱代罪。