兄淮南王司马允共攻篡位的赵王司马伦，司马允失败，逮捕司马晏至廷尉问罪，司马伦想杀了他。傅祗在朝堂正色力争，于是群官都劝谏，司马伦贬司马晏为宾徒县王。后徙封为代王。司马伦被杀，晋惠帝下诏恢复司马晏吴王，拜上军大将军、开府，加侍中。长沙王司马乂、成都王司马颖相互攻击，司马乂以司马晏为前锋都督，多次交战。永嘉年间，司马晏为太尉、太将军。司马晏为人恭愿，才能在武帝诸子中最劣。又有风疾，视力不佳，后来越来越重，不堪朝觐。永嘉之乱，司马晏被刘曜所杀，时年三十一。不久，其子秦王司马邺登基为晋愍帝，司徒梁芬商议追尊