司马衍,字世根,生于太兴四年(321年),是晋明帝司马绍的长子,母为明穆皇后庾文君。太宁三年(325年)三月初二日,司马衍被立为皇太子。
太宁三年(325年)闰八月二十五日,晋明帝去世。闰八月二十六日,皇太子司马衍即皇帝位,是为晋成帝,尊奉母亲皇后庾文君为皇太后。司马衍即位时,年仅五岁,由于司马衍年幼,所以由其母皇太后庾文君临朝听政。司徒王导录尚书事,与中书令庾亮共同参辅朝政。任命抚军将军、南顿王司马宗为骠骑将军,领军将军、汝南王司马祐为卫将军。九月十一日,将晋明帝安葬在武平陵。
咸康八年(342年)六月初五日,晋成帝身体不适,下诏让他的弟弟司徒、琅琊王司马岳继承帝位。六月初六日,命武陵王司马晞、会稽王司马昱、中书监庾冰、中书令何充、尚书令诸葛恢一并接受遗诏,辅佐司马岳。六月初七日,晋成帝在西堂驾崩,享年二十二岁,谥号成皇帝,庙号显宗,葬于兴平陵。