太康十年(289年)十一月二十三日,司马羕受封西阳县公,拜
散骑常侍。
元康元年(291年)六月,皇后
贾南风假借晋惠帝
司马衷的诏令,派楚王
司马玮杀害司马羕的父亲太宰、汝南王
司马亮和太保、菑阳公卫瓘。当时司马羕年仅八岁,镇南将军
裴楷因与他是婚姻亲戚,便偷出他逃跑,一夜转移八个地方,才幸免于难。同年六月十三日,因司马玮擅自杀害司马亮和卫瓘被处死。八月十八日,晋惠帝进封司马羕爵位为西阳县王,历任
步兵校尉、左骁骑将军。同年又进封为西阳郡王。
永兴元年(304年),司马羕担任
侍中。同年,长沙王
司马乂被杀,司马羕因是司马乂的同党,而被废除爵位,贬为平民。
晋惠帝回到洛阳后,恢复司马羕的封爵,授任他为
抚军将军,又将
汝南郡的期思、西陵用来增加其封地。
永嘉初年(307年),朝廷授任司马羕为
镇军将军,加任
散骑常侍,兼任后军将军,再以邾县、蕲春两地增封给他,加上以前的封地共三万五千户。
建武元年(317年),晋元帝
司马睿秉承皇帝的旨意而便宜行事,改任司马羕为抚军大将军、开府,配给一千士兵及马百匹。下诏命令他与其弟南顿王
司马宗率领流民去充实中原地区,因长江以西荒废阻塞而返回。晋元帝正式称帝后,进位司马羕为侍中、太保。因为司马羕是皇族的尊长,晋元帝大会时特地为他设有坐床。
太兴初年(318年),司马羕担任
录尚书事,不久兼任大宗师,加赐羽葆、斧铁仪仗,持斑纹木剑者六十人。
永昌元年(322年)五月二十日,进位为
太宰。同年闰十一月,晋元帝去世,皇太子
司马绍继位,是为
晋明帝。晋明帝继位后,认为司马羕是皇室元老,特别为他行拜礼。
太宁二年(324年)十月,朝廷平定
王敦之乱后,司马羕兼任
太尉。司马羕后因放任士兵抢劫,有关部门官员上奏晋明帝,要求罢免司马羕的官职,但晋明帝下诏不问罪。
太宁三年(325年)闰八月十九日,晋明帝健康状况不佳,召见司马羕与司徒
王导、尚书令
卞壶、车骑将军
郗鉴、护军将军
庾亮、领军将军
陆晔、丹杨尹
温峤一同接受诏辅佐皇太子
司马衍。闰八月二十五日,晋明帝去世。闰八月二十六日,皇太子司马衍继位,是为
晋成帝。当时晋成帝年幼,诏令司马羕可依照安平献王
司马孚的旧例,在殿上为他设立坐床帷帐,晋成帝亲自迎接行拜。
咸和元年(326年)十月,司马羕因其弟南顿王司马宗谋反之事受到牵连,被罢免官职,降封为弋阳县王。
咸和二年(327年),爆发
苏峻之乱,司马羕到
苏峻那里去称赞他的功绩,苏峻大为高兴,伪造诏书恢复司马羕的爵位。
咸康初年(335年),晋成帝恢复司马羕的宗室谱籍,任用司马羕的孙子司马珉为
奉车都尉、
奉朝请。
司马羕是朝廷重臣、皇室元老,受到晋朝历代皇帝的尊崇。
晋元帝大会时,特地为他设有坐床;
晋明帝特别为他行拜礼。司马羕因放任士兵抢劫,遭到有关部门官员弹劾,但晋明帝却没有向他问罪。晋明帝死后,受诏辅佐
晋成帝。当时由于晋成帝年幼,司马羕依照安平献王
司马孚时的旧例,在殿上设立坐床帷帐,晋成帝亲自迎接行拜。但后来司马羕却因勾结叛臣
苏峻而被赐死。