永嘉年间,巴蜀流民分布在荆、湘之间,屡为官吏、土民所侵害。永嘉五年春,晋湘州刺史荀眺衣以造反罪杀尽流民,流民四、五万家被迫起义反晋,共推蜀中才子,时任晋醴陵令的杜弢为首领。杜弢自称梁、益二州牧,领湘州刺史。四月,杜弢起义军攻长沙(今属湖南)。五月,荀眺弃城逃奔广州,被起义军擒获。后伪降于征南将军山简,任广汉太守,击毙率众来攻的湘州郭察,南破零陵(今属湖南)、桂阳(今湖南郴州),东攻武昌(今湖北鄂州),杀晋官吏甚众。
西晋末年流民起义战争中,晋永嘉五年(311年)至建兴三年(315年),蜀郡人杜弢领导流亡于荆、湘地区的流民的反晋战争。
永嘉六年(312年),晋荆州刺史王澄屡攻杜弢,均被起义军击败。晋琅琊王司马睿遣周顗接任荆州刺史。建平流民傅密等投奔杜弢。
杜弢别将王真(一说王贡)袭沔阳(今湖北沔阳西南),周颉狼狈失守。晋征讨都督王敦遣武昌太守陶侃、寻阳太守周访、历阳内史甘卓诸军共同镇压杜弢起义军,王敦进屯豫章(今江西南昌)为诸军后援。
建兴元年(313年)八月,杜弢围周颉于浔水城(今湖北黄梅县西南),陶侃使明威将军朱伺救援,杜弢退保冷口(今湖北蕲春县西南蕲州镇东南)。
陶侃随即又遣朱伺迎击杜弢,于赴武昌之路,大破义军,杜弢撤归长沙。陶侃继周顗任荆州刺史,屯沔江(今湖北武汉汉阳西南)。十月,陶侃又率周访等进击杜弢,再破义军。
建兴二年(314年)三月,杜弢部将王真袭陶侃于林障(今湖北汉阳县东北汉江南岸),陶侃撤往滠中(今湖北孝感、黄陂二县以南)。周访救援陶侃,击败杜弢军。
建兴三年(315年)二月,王敦命陶侃、甘卓等进攻杜弢,前后数十战,起义军伤亡甚大,杜弢向司马睿请降,司马睿任命其为巴东监军。然而晋军诸将依旧不断进攻,杜弢不胜愤怒,杀晋前南海太守王运,重新起义。
遣部将杜弘、张彦杀临川史谢擒,攻陷豫章。三月,周访击张彦,斩之,杜弘奔临贺(今广西贺县东南贺街)。八月,陶侃与杜弢相攻,杜弢部将王真阵前投降,起义军溃散,杜弢逃走,死于途中。
陶侃与南平太守应詹进占长沙。