当惠帝即位,由于其愚弱无力掌控国家,诸王大臣为争夺权力而发生八王之乱,大大动摇了西晋朝廷的统治基础。其后匈奴贵族刘渊乘时起兵于并州,建国号为汉(其后代再改国号为赵,故又称汉赵或前赵)。
汉国一直对外扩张,将并州大部分土地及司州的河东郡、平阳郡都落入其控制,加上河北一带地方势力都归附汉国,对当时晋朝的统治构成巨大的威胁。
刘渊的儿子刘聪继位后,派兵攻打晋国的洛阳,其后与增援的士兵,一举攻入皇宫,并大肆搜掠。宫中所藏被掠夺一空,晋朝宗庙被焚毁,皇陵遭到挖掘破坏。
当时的晋怀帝正想逃离之际,遭到汉国士兵所俘,其余未能逃出洛阳的王公大臣和平民,计有三万多人被杀,军队将洛阳皇宫焚毁后才撤兵。史称「永嘉之乱」。但没多久,继位的晋愍帝的被俘,西晋终告灭亡。
当时的丞相司马睿,于是带领率中原汉族臣民从京师洛阳南渡,在建康(今南京)定都,史称东晋,司马睿是为晋元帝。这次南渡,除了文臣武将外,还有很多缙绅和士大夫都一起,故此历史上又称之为「衣冠南渡」。