星火燎原
在河北地区,大业十二年,张金称﹑高士达先后被隋军镇压,窦建德收合两部余众,军势复振,很快发展到十余万人。隋在河北地方上的武装力量基本上已被消灭,起义军兵锋所至,隋朝官吏“稍以城降之”。次年正月,窦建德在乐寿县(今河北献县)郊建立政权,自称长乐王,署置百官,改元丁丑。
在江淮一带,大业十二年七月,炀帝至江都(今江苏扬州)时,李子通据海陵(今江苏泰州),左才相在淮北,杜伏威屯六合,从三面威胁江都。炀帝遣陈棱率宿卫精兵八千进行讨伐,互有胜负。次年正月,又遣陈棱征讨江淮一带起义军中力量最强大的杜伏威。隋军大败,起义军乘胜攻破高邮(今江苏高邮北),占历阳(今安徽和县),杜伏威自称总管,以辅公祏为长史,很快控制了淮南各县,江淮间小股反隋武装多来归附,形成了江淮间巨大的起义力量。
从大业十三年三﹑四月瓦岗军围逼东都开始,以瓦岗军为中坚,以窦建德﹑杜伏威为两翼的农民起义军,对隋王朝进行了摧毁性的打击。六月,瓦岗军大败隋军,东都危急。七月,炀帝抽调“江淮劲卒”和“燕地精兵”奔赴东都,涿郡留守薛世雄统率燕地精兵三万南下攻瓦岗军,兵至河间(今属河北),营于七里井,准备会合河间诸县兵先行镇压窦建德起义军。窦建德指挥部队从各城中撤出,向南转移,然后乘薛世雄不加防备,选精兵数千人为伏兵,亲率敢死之士两百八十人夜袭。三万隋军溃散。薛世雄带数十骑逃回涿郡。窦建德起义军又重新控制了河北的大部分地区。 八月,瓦岗军占领黎阳仓,开仓赈济饥民,扩大起义队伍数十万人。炀帝又命江都通守王世充统率洛阳附近诸郡兵与东都留守兵共十余万人,在洛水两岸同瓦岗军展开激战。王世充屡战屡败,有些隋将投降李密。这时洛阳城内缺粮,饿死的人很多。河北﹑山东﹑河南和江淮流域都被起义军占领,隋的军事力量也大部被起义军消灭,隋王朝直接控制的地方越来越狭小。形势对瓦岗军非常有利。但由于瓦岗军内部矛盾日益加深,李密始终不肯改变在洛阳城下与隋军主力长期鏖战的错误战略,所以没有取得决定性胜利。
在农民起义军从各条战线向隋王朝发起全面进攻的同时,朔方(今内蒙古白城子)梁师都﹑马邑(今山西朔县)刘武周﹑金城(今甘肃兰州)薛举等地主官僚也纷纷起兵,割据地方。大业十三年五月,隋太原留守李渊也从太原起兵,七月,趁隋军与瓦岗军大战之机,进入关中。十一月,攻克长安。大业十四年三月,在江都的隋禁军将领利用关中士兵思归的情绪,推宇文化及为主,发动兵变,缢弑隋炀帝,领兵西归。五月,李渊在长安即皇帝位,建立唐朝。留守东都的隋越王侗也在洛阳即皇帝位,改元皇泰,史称皇泰主。
炀帝崩后,天下大乱,阶级关系发生很大变化。杜伏威上表于洛阳小朝廷,皇泰主拜伏威为东道大总管,封楚王。李密也在宇文化及大军压境的情况下,为了避免腹背受敌,向皇泰主称臣。李密大破宇文化及的军队,但自己的兵力损失也很大,于九月被实际控制东都的王世充乘虚打败,投降李渊。只有窦建德的夏政权在河北仍保持独立。武德四年三月,唐兵进攻洛阳王世充,窦建德亲自统兵十余万援助王世充,和唐军相持于虎牢(今河南荥阳西北)一带。谋士凌敬建议全军渡河,攻占河阳,越过太行山,进军汾水流域,威胁关中,迫唐军从洛阳撤退。建德不听。五月初,李世民袭击得手,夏军溃散,建德被俘。之后,建德留守洺州诸将士或散尽,或降唐。七月,窦建德于长安被杀。夏亡。
窦建德被唐军镇压后,余部在刘黑闼领导下,复于武德四年﹑五年两次起义于河北,六年被消灭。杜伏威于武德二年降唐,五年入朝长安,以辅公祏留守。唐以杜伏威为太子太保,仍兼行台尚书令,留长安。六年,这支义军又在辅公祏领导下起义反唐,次年三月被消灭。