早在东汉末年南匈奴就被曹操分为五部,各部人分别聚居在兹氏、祁、大陵、蒲子以及新兴等五县一带,直至晋代。匈奴族人刘渊在八王之乱中与成都王联结,并借此联结匈奴诸部,壮大实力。成都王被王浚等击败后,刘渊就乘时而起,冒认汉朝皇族建立“汉”政权,更是日后灭亡西晋的力量。魏晋年间,除匈奴外其他外族亦有内迁,而八王之乱期间及后续亦屡见外族参与中原战事,如并州刺史刘琨曾多次与代王拓跋猗卢联结对抗南匈奴汉国的进攻;王浚与司马腾亦曾与乌桓人及段部鲜卑联手对抗成都王,这些促成五胡乱华及十六国时代。
晋初体制本将地方军事及民政分开,分别由都督及刺史掌管,而在灭吴后撤去地方军力,更让各都督成为地方军事力量。但到八王之乱后期,地方无法抵抗变乱,遂令制度失效,刺史再兼领一方军政及民政,如兼领幽冀的王浚、领并州的刘琨及领青州的苟晞都是一方的军镇,在北方抵抗匈奴汉国的侵袭,苟晞甚至曾出檄文讨伐东海王司马越。永嘉之乱后洛阳朝廷倾覆,据有一方的王浚甚至有自立之愿,但这些兵镇后来都被南匈奴及石勒所灭。
东海王司马越在八王之乱后掌握朝权,但期间不但无力控制日益壮大的匈奴汉赵政权,更排除异己,杀害中书监缪播、散骑常侍王延等人,大失人心。后更在永嘉四年以讨匈奴汉赵为名率领行台出京,带着大批军队及王公大臣离开首都洛阳,致令洛阳防御薄弱,盗贼横行。在其死后,他带领的大军以及大批王公大臣在苦县宁平城被匈奴汉赵将领石勒屠杀,不久洛阳亦在永嘉之乱中陷落。秦王司马邺虽在晋怀帝遇害后于长安即位延续国祚,但也在建兴四年(316年)被俘,西晋正式灭亡。而早在荡阴之败后,东海王东走并在徐州收聚兵众,及后更起兵讨伐河间王,迎帝东归。当时东海王就留了琅邪王司马睿以安东将军都督扬州诸军事,镇守下邳。后来琅邪王就移镇建邺,在江左发展,奠下东晋的基础。晋愍帝死后,琅邪王就即位为帝,即晋元帝。
永嘉年间匈奴为首的异族祸乱主要有:永嘉三年(309年),汉赵两次进攻洛阳,被击退。永嘉五年(311年),刘渊之子刘聪遣石勒、王弥、刘曜等率军攻晋,在宁平城之战中歼灭晋军主力,杀晋太尉王衍及诸王公,攻破洛阳,俘获晋怀帝,杀王公士民十万余人。永嘉七年(313年),晋怀帝被杀死,司马邺于长安即皇帝位,改元建兴。后建兴四年(316年), 刘曜又攻入长安,俘晋愍帝,西晋灭亡。318年初,晋愍帝被杀死。永嘉之乱使得中国北方经济完全崩溃。
“犯我强汉者,虽远必诛”的汉家恢弘气度,率直任诞、清俊通脱的魏晋风骨,至此泯灭。