元年（291年），父亲司马亮被楚王司马玮杀害，年仅八岁的司马羕因获镇南将军裴楷帮助逃走而得免被诛杀。司马玮被贾后诛杀后，司马羕进爵为西阳王。任步兵校尉、左军骁骑将军。永兴元年（304年）任侍中，但不久就因长沙王司马乂被诛杀，自己是其党人而被废为庶人。光熙元年（306年），晋惠帝被迎回洛阳，司马羕的封爵获得恢复，并任抚军将军。永嘉初年拜镇军将军，加散骑常侍，领后军将军。后东海王司马越东出鄄城，司马羕随行，及后南渡长江。司马羕后来获承制的司马睿任命为抚军大将军、开府。后应诏与南顿王司马宗领流民充实中州，