魏青龙四年(236年),司马炎出生于汉魏时期的名门河内郡温县司马氏。他祖上的很多人在东汉担任过高级官吏。祖父司马懿历仕曹操、曹丕、曹叡、曹芳四世,官居太傅,并在“高平陵之变”后逐步执掌曹魏政权。司马懿病死后,其子司马师、司马昭相继掌权[89] 。司马昭更在咸熙元年(264年)三月得封晋王[91] ,彻底控制了朝政。而司马炎便是司马昭与妻子王元姬所生的长子[1] [88] 。
嘉平(249年—254年)年间,司马炎获封北平亭侯,历任给事中、奉车都尉、中垒将军,加散骑常侍,多次迁官至中护军、假节。甘露五年(260年)五月,魏帝曹髦被杀,司马炎奉父命在东武阳县(治今山东莘县莘城镇南段屯村一带[146] )迎接常道乡公曹奂入继帝位[90] 。事后得以升任中抚军,进封新昌乡侯。[4]
司马炎虽据说有“发委地,手过膝(站着时头发拖到地上,手臂垂下时超过膝盖)”的“非人臣之相”,且在司马昭诸子中居于嫡长子的地位。但他的弟弟司马攸(过继给司马师)“性孝友,多材艺”,为人“清和平允”,更受司马昭的喜爱。司马昭曾表示,天下是兄长司马师打下来的,将来的王位自然应该归属司马攸。为了夺取世子名位,司马炎极力拉拢父亲身边的要臣,得到了山涛、贾充、何曾、裴秀等人的支持,并有羊琇等为自己出谋划策,终于在司马昭死前三个月,即咸熙元年(264年)的十月份正式被确立为晋王世子[55] [5] 。在取得世子名位的同时,魏帝曹奂又在同年早些时候先后授予他抚军大将军、开府、“副贰相国”等职权,等同于“鲁公拜后之义(指像鲁公伯禽获得父亲周公辅佐君王的地位一般)”。[89] [91] 被认为是晋朝奠基者的司马昭,被指的人物是司取自《图像三国志》
咸熙二年(265年)五月,曹奂为司马昭加殊礼,进封其王妃为王后,世子为太子,由此司马炎也成为晋王太子[56] [6] 。同年八月,司马昭去世,司马炎继承父亲的相国职位和晋王爵位,总揽全国军政大权[7] 。[89] [93]