三國時,曹魏君主曹髦曾於甘露三年(258)五月封司馬昭為晉公,建立晉國並設定相應官府機構,加九錫,司馬昭九次推辭,這件事停了下來。甘露五年(260)四月,曹髦再次下詔加封晉公,司馬昭又推辭。五月,曹髦被弒,司馬昭不得不再次推讓封晉公、立晉國的封賜。嗣後即位的曹奐又於景元元年(260)六月、景元二年(261)八月、景元四年(263)二月進行相同的封賜,都被司馬昭拒絕。
景元四年(263),司馬昭興兵伐蜀,屢屢獲勝,曹奐又下詔加封司馬昭為晉公、建立晉國,司馬昭在辭讓後終於接受,晉國於是建立。根據曹奐的詔令,晉國的國土總計包括并州的太原郡、上黨郡、西河郡、樂平郡、新興郡、雁門郡,司州的河東郡、平陽郡、弘農郡,雍州的馮翊郡,南邊到華山,北邊到陘山,東面到壺口,西面越過了黃河,方圓七百里,都是春秋時晉國的舊土。
鹹熙二年(265年),司馬昭加封晉王,增封10郡,晉國疆土加上之前的10郡共20郡。鹹熙元年冬十月,命撫軍大將軍、新昌鄉侯司馬炎為晉世子。鹹熙二年(265年)五月,進世子為晉太子。八月,司馬昭薨,謚晉文王。晉國太子司馬炎襲位。十二月,司馬炎篡位,改國號晉,史稱西晉。