封王攻伦
太康十年(289年)十一月,司马晏受封爵位为吴王,以丹阳、吴兴和吴三郡作为食邑。后历任射声校尉、后军将军。
永康元年(300年),司马晏与同母兄淮南忠壮王司马允共同攻打篡位的赵王司马伦。同年八月,司马允失败后,司马伦派人逮捕司马晏交付廷尉处置,想趁机杀死他。侍中傅祗在朝廷上严正地为司马晏争辩,群臣同时劝谏,司马伦便贬司马晏为宾徒县王。后来封为代王。
恢复爵位
无才愚钝
永嘉年间(307年―312年),司马晏担任太尉、太将军。司马晏为人恭谨朴实,才能不及一般人,在晋武帝司马炎诸子中最为愚钝。年少时因受风疾,视力不正,后来加重,不能朝见。