食邑五千一百七十六户，并于泰始二年（266年）到封国。后来历任长水校尉和南中郎将。泰始九年（273年），司马炎下诏称司马晃「清亮中正，体行明洁，才周政理，有文武策识。」任命他使持节、都督宁益二州诸军事、安西将军，领益州刺史。司马晃以疾病为由不上任，于太康四年（283年）改任尚书右仆射。后来出任镇东将军、都督青徐二州诸军事。永熙元年（290年），晋惠帝司马衷继位，司马晃入朝为车骑将军，加散骑常侍。元康元年（291年），贾南风谋诛杨骏，任命司马晃领护军驻屯东掖门。杨骏被诛杀后升任尚书令。后迁任司空，加侍