晋元康六年(296年)至建兴三年(315年),各族流民反抗西晋王朝的起义战争。
太康元年(280年),西晋灭亡东吴,统一中国。不久,晋王朝内部矛盾激化,宗室诸王争权夺位,战祸连年,天灾不断,疾疫流行,赋敛如故,大量被迫沦为流民,不断爆发反晋起义。元康二年,匈奴人郝散起兵攻上党(今山西潞城东北);两年后,其弟度元联合冯翊、北地等郡的马兰羌、卢水胡起兵反晋,秦(治今甘肃甘谷东)、雍(治今西安西北)二州氐、羌数十万民众纷起响应,共推氐帅齐万年为帝。先后攻打天水、略阳、始平、武都、阳平诸郡,晋军“诸将覆败相继”。后晋廷遣积弩将军孟观率京师宿卫军前往镇压,起义失败,齐万年被俘。从此,遍及各地的流民大起义此起彼伏。
永宁元年(301年)十月,略阳?(巴氐)人李特、李雄领导秦、雍六郡流民在益州(治今成都)起义。时关中干旱,连年饥荒,六郡汉、氐、羌、密等各族民众10余万人经汉川流入巴蜀地区就食。当地官府逼迫其返乡,激起流民起义,屡败晋军,攻占广汉,进围成都(今属四川)。李特与蜀人约法三章,赈贷贫人,得到益州民众的支持。后李特战死,其弟李流和其子李雄继续领统义军,于晋太安二年(303年)闰十二月,逐走晋益州刺史罗尚,攻下成都。翌年,李雄称成都王,后称帝,建成国。至成玉恒四年(338年)四月,李骧(李特弟)之子李寿即位,改国号为汉。秦、雍六郡流民起义,是西晋末年流民起义中规模最大的一次。李雄建立的成汉政权,共存在44年之久,直至成汉嘉宁二年(347年),为东晋都督荆、司等六州诸军事桓温率军消灭。
太安二年(303)五月,晋廷急征荆州壮勇赴益州,遭到荆州民众的强烈反抗。曾任县吏的义阳(今河南信阳西北)蛮民首领张昌,在安陆(今湖北云梦)石岩山聚众起义,荆地区的流民和逃避戍役的丁壮纷纷参加。张昌立山都县(今湖北谷城东南)吏丘沈为天子,自为相国。趁晋廷诸王争夺朝权之机,分兵四出攻城略地。南破武昌(今湖北鄂州)、长沙、湘东(郡治酃县,今湖南衡阳市)、零陵;东攻弋阳(今河南潢川西);北克宛(今河南南阳市)、襄阳,杀西晋都督荆州诸军事新野王司马歆。部将石冰和封云率领东路义军,攻占江(治今南昌)、扬(治今南京)二州。其势力迅速扩大到荆、江、徐(治今江苏徐州)、扬、豫(治今河南淮阳)五州的大部地区。同年七月,西晋荆州刺史刘弘调集大军围攻张昌,起义军被晋将陶侃率部击败。次年八月,张昌被俘杀。荆州流民起义遂被镇压。
永嘉四年九月,雍州部分民众流移至宛县一带就食、晋廷逼令流民归还故里,遭到流民强烈反抗。京兆人王如在宛乘势发动起义,南安人庞定、冯翊人严嶷、京兆人侯脱等各率众响应,聚至四五万人,于汉、沔及襄、阳一带,屡败晋军。王如自称大将军,领司、雍二州牧。王如乘汉镇东大将军石勒率部进至宛县,借机与其联结消灭异己,最后他也被石勒击败,永嘉六年投降晋扬州刺史王敦,被杀。
西晋永嘉五年元月,巴蜀流民数万家为避战乱,流亡到荆、湘地区。湘州刺史荀眺欲尽诛流民,四、五万家流民愤而皆反,共推蜀人杜弢为主。杜弢自称梁、益二州牧,领湘州刺史,率众攻占长沙,生擒荀眺。攻克零陵(今属湖南)、桂阳(今湖南郴州),又东击武昌(今湖北鄂州)、袭沔阳(今湖北沔阳西南),占据豫章(今南昌),屡败晋军。建兴三年(315年),晋琅玡王司马睿遣征南将军王敦、荆州刺史陶侃集结大军,围攻杜弢,义军将士死伤甚众,部将王真降晋。杜弢突围逃遁,死于途中。
在北方中原爆发的多起民众起义中石勒和王弥领导的山东、河北起义影响最大。永兴二年(305年)七月,石勒同马牧帅汲桑率数百骑参加公师藩在赵(今晋冀豫部分地区)、魏(今冀鲁豫部分地区)的反晋起义。不久,公师藩兵败被杀。永嘉元年三月,石勒和汲桑再度起义。五月,攻占邺城(今河北临漳西南),杀晋新蔡王司马腾。八月,在东武阳(今山东朝城西)为晋兖州刺史苟唏部所败,汲桑被杀,石勒往投汉王刘渊。光熙元年(306年)三月,东莱郡(治今山东掖县)大族王弥参加怰县令刘伯根率万人反晋起义。后刘伯根战死,王弥继统其众,转战于今河北、山东、安徽、河南等地,有众数万。永嘉二年五月,兵临洛阳(今洛阳东北),使晋廷“京邑大震,宫城门昼闭”。后被晋司徒王衍率大军击败,王弥率余部投奔刘渊。