隋朝末年,统治者征敛无度,民夫转输不息,徭役无期,士卒多列沟壑,骸骨遍及平野。黄河之北,千里无烟;江淮之间,则成蒿莱。加之灾年饥馑,谷价猛增,百姓困苦,冻馁交加。在无法生存的情况下,农民揭竿而隋朝统治,计当时约百余支,遍及全国。
在公元614年到617年间,农民起义的风暴已席卷全国大部分地区,先后在全国各地兴起的起义军大小不下100支,参加的人数达数百万。后来,农民起义军汇成三支强大反隋主力:一支是河南的瓦岗军,一支是河北的窦建德军,一支是江淮地区的杜伏威军。其中最大的便是瓦岗军。
1、瓦岗义军
瓦岗军是三支农民起义军中最强的一支,大业七年(611年),翟让聚众在瓦岗寨(今河南滑县南)起义,举兵反隋,山东、河南两地农民纷纷参加,单雄信、徐世绩、李密、王伯当都率众投奔瓦岗窦,队伍迅速壮大。
大业十二年(616年),李密向翟让建议:“先取荥阳,休兵馆谷,待士马肥充,然后与人争利。”荥阳是隋朝重要军事据点,翟让亲自率兵攻下荥阳门户金堤关及周围属县,同年10月,隋炀帝派2万隋军主力前来镇压。瓦岗军采取诱敌深入、伏兵袭击的战术,把隋军全部歼灭。河南道“讨捕大使”张须陀突围不成也丧了命。农民起义军取得了荥阳大捷,威震河南。
大业七年(611年),翟让领导农民在瓦岗寨(今河南滑县南)起义反隋,山东、河南的贫苦农民纷纷参加,单雄信、徐世绩、李密、王伯当等人都率众投奔瓦岗起义军,使起义队伍迅速壮大。
大业十二年(616年),翟让接受李密建议,亲自率兵攻下荥阳的门户金堤关及周围的县,又在附近的大海寺设伏,歼灭了2万前来镇压瓦岗军的隋军主力。大业十三年(617年),隋朝洛阳留守杨侗派刘长恭、裴仁基等带兵围剿起义军,隋军列阵十里,来势汹汹,翟让分军10队,与之对峙,并亲自率领将士强攻隋营,隋军大乱,全线溃败。
刘长恭逃回东都洛阳,裴仁基投降。是年二月,翟让认为李密有领导才能,把瓦岗军的领导权交给了李密,李密为任统军元帅,翟让为上柱国、司徒、东郡公,设三司六卫,建立了瓦岗军农民政权——“魏”。在隋朝即将被农民起义军推翻的关键时刻,瓦岗军内部予盾激化,十一月,李密设计杀害了翟让等重要农民军将领,导致瓦岗军将卒离心,战斗力遭到极大消弱。大业十四年(618年)六月,李密率军投降了隋朝皇泰帝杨侗,后又降唐,后来又因起兵反唐被杀,从此葬送了这支农民军。
2、河北义军
大业七年(611年),窦建德领导农民在高鸡泊(今河北故城县西南)起义反隋,起义军迅速发展到万余人。大业十二年(616年)十二月,涿郡(今河北涿州市)守将郭洵率军进犯起义军,窦建德率七千义军乘敌不备,突袭敌军,杀敌军无数,缴获马匹数千,隋将郭洵被杀,取得了大胜。大业十三年(617年)正月,窦建德在乐寿(今河北献县)称长乐王,建立了农民政权。
杨广派薛世雄率军围剿起义军,两军在乐寿的七里井交战,起义军佯败诱敌至设伏处,突然折回,伏兵齐起,夹击隋军,隋军大败,薛世雄逃回涿郡。大业十四年(618年)五月,窦建德称夏王,但在隋朝灭亡以后,逐渐背农民战争的根本目标。唐高祖武德四年(621年),窦建德起义军与李世民率领的唐军在虎牢关(今河南荥阳西北)交战,被李世民打败,窦建德被俘,后来在长安(今陕西西安)被杀。武德六年(623年),唐太子李建成、齐王李元吉击败了窦建德部将刘黑闼,河北起义失败。
大业十一年以后,隋统治阶级开始把大部分军队用于镇压农民起义军。炀帝还命令在郡县城郭、驿站、村庄的周围修筑城堡,强迫农民到城堡里居住,以隔断义军与民众的联系。统治者对起义军和一般农民进行了疯狂的大屠杀。隋将樊子盖镇压起义军时,将汾水以北村庄全部烧光,俘虏的起义军全部被屠杀。王世充打败江南刘元进起义军时,把诱降来的三万人也全部屠杀。
3、江淮义军
大业九年(613年),杜伏威、辅公祏在齐郡(今山东)组织起义,随后南下到江淮南广大地区发展,力量不断壮大。大业十二年(616年)七月,起义军进逼江都(今江苏扬州市),与隋将陈棱率领的援兵相遇对峙,杜伏威率兵强攻隋军,激战中,杜伏威的前额被敌箭射中,但他带箭冲入敌阵,杀得隋军大乱。随后,起义军攻下高邮、历阳,建立农民政权,杜伏威任总管,辅公祏任长史。
隋炀帝在江都被杀后,起义军内部发生了分化。唐高祖武德五年(622年)七月,杜伏威投降了李渊。次年,辅公祏起兵反唐,建立政权,控制了苏、皖部分地区,以丹阳为中心展开反唐斗争。唐朝急派大军镇压,辅公祏领导起义军在当涂与唐军对峙了10个月。终因寡不敌众,丹阳失守,辅公祏被俘就义。