晋武帝司马炎总共生了25个儿子,司马炽是最小的一个。武帝临死前一年,将他封为豫章王。八王之乱期间,他洁身自好,不问世事,闭门读书,专心于史籍,因而颇有声望。公元304年的十二月,河间王司马颙废掉皇太弟成都王司马颖时,武帝25子已仅剩4人,司马颖被废,司马颙只能在吴王司马晏和司马炽中挑选一个,司马晏庸碌无才,于是就立了司马炽为皇太弟,作为法定接班人。公元306年的十一月,惠帝食饼中毒身亡,司马炽继位。
晋怀帝即位之初,遵照旧制,在太极殿东堂听政,每次朝会,都要和群臣讨论各种国家大事,考证经史典籍,因而颇得好评。许多大臣说:“今日复见武帝之世矣!”但治乱世,需要有拨乱反正的大才,怀帝虽然为人正派,谦虚谨慎,精通经史,却缺乏实际的统治经验和魄力,因此,不可能力挽狂澜,扭转已经混乱不堪的政局。这时,动乱正在全国各地继续发展。怀帝即位的当年,琅邪王司马睿以安东将军、都督扬州江南诸军事的身份,从下邳移镇建业,开始在江南发展和巩固自己的势力。已经大量进入中原地区的匈奴、鲜卑、羯、氐、羌等少数民族不甘心忍受晋朝贵族官僚的压迫,也纷纷起来反抗。汲桑和羯族石勒起兵攻破了邺城,晋兖州刺史苟晞过大小30多次战争,死了1万多人,才将他们打败。朝中是东海王太傅司马越专权,怀帝并无多大实际权力。
怀帝即位的第二年十月,匈奴族刘渊又在平阳称帝,公然和晋朝皇帝唱起了对台戏。石勒和王弥在起兵失败后,先后投奔了刘渊,并且迅速恢复了活力。石勒的军队在公元309年已发展到10万多人,几次兵临洛阳,几乎破城。公元310年十月,洛阳再次遭到刘曜、王弥、石勒军队的攻掠,缺兵少粮,形势恶化。司马越不得不发羽檄征调四方之兵入援京师,怀帝也亲自叮咛派出去的使臣:“告诉他们,马上发兵还有救,晚了就来不及了。”然而,一则是司马越的专权行径,早已使朝野上下大失所望;二则是各地方正自顾不暇,因此,竟没有一个发兵到洛阳来。
公元311年二月,曾经受到司马越排挤的苟晞发出檄文,历数司马越罪状,声讨司马越。怀帝早就讨厌司马越专权,尤其是留守洛阳的司马越亲信何伦等人,专事抄掠王公贵族,逼辱公主,无恶不作,人人憎恨。苟晞既然敢于出头,怀帝自是求之不得,便秘密赐予手诏,命他讨伐司马越。双方多次文书来往,司马越不免有所风闻,便派骑兵在成皋一带巡逻,果然截获了苟晞所派的使臣和怀帝诏书。于是,双方公开交战。司马越忧愤成疾,于三月间死于项城(今河南沈丘)。部将王衍等率兵带着司马越的尸体返回东海封国安葬。四月间,队伍行至苦县的宁平城,被石勒率轻骑追上,石勒以骑兵围而射之,晋军将士自相践踏,王公士庶10余万人无一幸免。石勒将司马越剖棺焚尸,扬扬得意地说:“此人乱天下,我为天下人报仇!”司马越是八王中最后出来专权的一个,他大概没有想到,死后还要受辱,比之先死诸王,命运更加悲惨。
,