司馬衷是晉武帝的次子,為正宮楊皇后所生。晉武帝司馬炎的長子名喚司馬軌,本應立為太子,但他早年夭折,於是司馬衷就成了實際的長子。按照當時的規矩,司馬衷本應該被立為太子,但是他極其愚笨,晉武帝始終不能下定決心。楊皇后為此十分焦慮,每天與晉武帝糾纏此事,晉武帝無奈,只得立司馬衷為太子。
雖然皇帝頒佈了命令,但滿朝文武對此並不認可,希望晉武帝能改立別的兒子為太子。有一天,晉武帝在朝堂之上大宴群臣。席間,大臣衛罐假裝喝醉,跌跌撞撞走到晉武帝面前給他敬酒,還趁勢跌倒在晉武帝的龍椅前,他一邊用手撫摸龍椅,一邊含糊不清地說:“多好的龍椅啊,真是可惜了!”對於衛罐的話,晉武帝聽得非常清楚,衛罐的言外之意,他也了然於心,可他佯裝不知,說:“真是喝醉了,不知道在胡說什麼呢?”說罷便讓人把衛罐送走了。其實,從晉武帝的本心來說他也很想立別的兒子為太子,不過每次一提到這件事,楊皇后就哭哭啼啼,晉武帝無奈,改立太子之事只好作罷。
後來,晉武帝對司馬衷實在放不下心,便想了一個試探他能力的好辦法。他挑選了幾件沒批閱過的奏章,把它們密封起來,然後派人送給司馬衷批覆,想借此驗證一下太子的真實能力。為了防止有人暗中幫忙,晉武帝還專門設宴,把司馬衷手下的官員們全部招來赴宴。
以司馬衷的能力,是不可能批閱奏章的。司馬衷的夫人賈妃看在眼裡,急在心頭,她急忙找了個太監,讓他擬寫了一份粗淺的答案,然後讓太子照抄上去。太子批閱完的奏章又被送回到了晉武帝手裡,晉武帝開啟一看,批得雖然淺顯粗陋,但文通句順,也算說得過去,於是便沒有廢黜之心了。
後來,晉武帝得了重病。司馬衷雖然已經年過三十,但智力仍舊低下,難以執掌朝政。晉武帝內心忐忑,便請皇后的父親楊駿來輔助他。之後不久,晉武帝駕崩,司馬衷即位,他就是晉惠帝。晉惠帝只知道吃喝玩樂,朝廷大權完全掌握在楊駿手中。
歷史上有名的那句"百姓無粟米充飢,何不食肉糜?"就發生在此時。有一天,晉惠帝在華林園遊玩時聽到青蛙的叫聲,感到新奇,便問身邊的侍從賈胤:“這種呱呱亂叫的東西是誰的?它們是私人的,還是公家的啊?”賈胤答道:“啟稟陛下,這種東西的歸屬和它所在的地方有關,如果它出現在公家地裡就屬於公家,出現在私人地裡就屬於私人。”晉惠帝聽完後點了點頭,表示自己知道了。有一年,全國很多地方都受災嚴重,老百姓沒東西吃,很多人都活活餓死了。晉惠帝知道這件事情後,問手下的大臣:“老百姓為什麼要死去,難道活著不好嗎?”有個大臣回答:“老百姓也不願死去,他們也很想活著,但是遭受了災害,沒有糧食吃才餓死的。”晉惠帝說:“哦!他們真夠笨的沒有糧食,為什麼不吃肉粥呢?”這個大臣聽後,哭笑不得、張大了嘴巴,一句話也說不出來。
有這樣一個白痴皇帝,西晉的江山免不了要遭受更多、更嚴峻的考驗,為後來的“八王之亂”、“東晉十六國”、“南北朝”大分裂拉開帷幕。