魏國滅掉蜀國之後,司馬炎在魏國首都洛陽逼魏國的皇帝曹奐退位並將皇位禪讓給自己,改國號為晉,改元泰始,史稱晉武帝。武帝非常高興,但他知道自己的江山是從曹魏政權手上篡奪過來的,所以他害怕自己的江山也會被自己的大臣篡奪,因此他吸取了曹魏滅亡的教訓,不顧司隸劉頌反對大肆分封晉室宗族來鞏固自己的江山。不過,晉室奢靡腐敗之風盛行,在這種情況下采用分封製來鞏固國家權力並不明智。
鹹寧四年,司馬炎曾在南郊祭天,祭禮畢,喟然感歎,他對司隸校尉劉毅說:“朕聽說你為人剛正不阿,你認為像朕這樣的皇帝,可以和漢朝的哪位皇帝相比啊?”劉毅回答說:“皇上和漢桓帝、漢靈帝差不多。”漢桓帝和漢靈帝是東漢年間有名的昏君,諸葛亮在《出師表》中就曾寫道:“未嚐不歎息痛恨於桓、靈也。”晉武帝聽了這話有些不高興,說道:“朕還沒有達到這種地步吧?”劉毅說:“回陛下,桓帝和靈帝當皇帝的時候,他們賣官賺來的錢,還全部放到官庫裏去,可是現在陛下賣官賺來的錢,卻都攬到自己腰包裏,照這樣看的話,皇上您還不如他們呢。”武帝雖然不高興,但是他心裏還是容得下劉毅的,於是故意大笑道:“劉愛卿可真是忠臣哪,桓、靈當皇帝的時候他們肯定聽不到這番話,現在朕有你這樣正直的臣子,那朕肯定比他們倆強多了。”因此賜給劉毅黃金二十斤,以表揚他的正直。
鹹寧五年十月,武帝讓衛瓘做尚書令。當時朝野上很多人認為太子昏庸,難堪大任。衛瓘早就希望武帝能重新在他諸位兒子中另外挑選一個人當儲君,但一直找不到合適進言的機會。一日,武帝在淩雲台上大宴群臣。宴會結束了,衛瓘假裝喝醉了酒跪在武帝床前。武帝說:“愛卿你這是怎麼了?”衛瓘說:“臣有話要說。”武帝說:“但說無妨。”衛瓘於是用手拍了拍床說:“哎!此座可惜,可惜!”武帝已經明白他的意思了,於是故意說道:“衛愛卿,你是真的喝醉了。”於是衛瓘不敢再說什麼了,就醉醺醺地回去了。
武帝回到了自己的宮殿裏,悶悶不樂,對楊皇後楊芷說:“太子才能平庸,性格懦弱,不堪重任,這事可怎麼辦才好?”楊芷是太子司馬衷生母楊豔的堂妹,楊豔是晉朝最早的皇後,她臨終時希望她死後楊芷能當上皇後,武帝同意了。皇後回答說:“自古以來廢長立幼都是取禍之道,皇上您可千萬不能廢了太子啊,況且太子並沒有犯下過什麼大錯。”
這天晚上武帝很憂慮,夜不能寐。忽然城內有人報道內城失火,於是他和宮中人一同登樓,看火災的情況。東宮才人謝玖所生的皇孫司馬遹這年才五歲,他在旁邊看見自己的爺爺武帝倚在欄杆上觀看,遠處的火光照亮了武帝的麵孔,於是他拉了拉武帝的衣服,說道:“今天晚上發生了火災,應該防備特殊的情況,不能讓人臣看見爺爺您的臉啊,這萬一有小人生了謀反之心,興兵起事,對爺爺豈不是非常不利?”武帝聽到這話感到非常驚訝,他沒想到自己的孫子這麼小就有這樣深刻的見解,於是非常寵愛他,武帝的近臣也很重視他。
太子妃賈氏南風聽說皇孫司馬遹很受皇帝寵愛,而他並不是自己生的兒子,而自己隻有一個女兒,又沒有兒子,心中不樂,一日在路上走,看見太子的一個寵妾居然懷孕了,一怒之下拿刀把她捅死了,孩子也沒保住。武帝聽說後勃然大怒想廢掉她,楊皇後勸道:“太子妃雖然有罪,但看在她父親賈充是開國功臣的份上,饒了她這一回吧。”賈充主要有兩大功勞,一是逼死想殺司馬昭的魏國皇帝曹髦,二是勸司馬昭立武帝為儲君。武帝說:“連太子一並廢黜,又有什麼不可以的?”楊後又說:“太子雖然平庸,可是皇孫聰慧,有賢子繼承他的皇位,又何必擔憂呢?”武帝被勸,因此不能定奪,於是走出宮一邊走一邊思考。
武帝忽然看見皇孫司馬遹隨後跟來,於是牽著他的小手一同往豬圈裏看豬。武帝對皇孫說:“遹兒你看這些豬長得肥不肥啊?”,司馬遹說:“回爺爺的的話,這些豬確實挺肥的。為何不殺了它們分給有功之士,何必讓它們再浪費糧食呢?”武帝聽到後非常高興,說:“此兒當興我家。”於是他讓手下立即照做了。接著又下令封司馬遹為皇太孫。