隋炀帝的穷奢极欲、好大喜功给百姓带来了深刻的苦难。终于,忍无可忍的民众纷纷举起了反旗,一些隋朝的将领也趁机自立为王,统一没多久的国家再次陷入混乱。最后,原为隋朝太原留守的李渊建立了唐朝,消灭了各种势力,统一了天下。
隋炀帝时最早的农民起义要数王薄领导的长白山起义,这个长白山并不是现在东北的长白山,而是今山东省章丘市境内的会仙山。隋炀帝为修建东都洛阳、开凿大运河,大量抓取民夫做苦役,山东的人民深受其苦,伤亡极重,再加上连续几年的天灾,山东民众的生活已经处于水深火热之中。
大业七年(公元611年),杨广要出征高丽,征发山东的民众当兵和运输物资,这一去路途艰苦,可说是九死一生。邹平人王薄带领民众起义反抗,拒不应征,他们占据了长白山,与官军相抗,起义军很快就增加到了几万人。王薄领导的起义拉开了隋末起义风云的大幕,很快,各地的人民纷纷组织起来反抗杨广的暴政,起义之火燃遍了全国各地,这其中最有影响力的要数瓦岗军。
瓦岗军最初的领袖是翟让,他是东郡(今河南滑县)人,本是一名法曹(县令的属官,掌司法捕盗之事)。翟让因犯法当斩,被关入狱中,狱吏黄君汉知道他骁勇,认为他“可救生民之命”,于是不顾个人安危,偷偷将他放了。这一年,是隋大业七年,翟让带人占据了瓦岗(在今河南滑县),很快,同郡的徐世勣、单雄信等人都来投靠他。他们靠在永济渠沿岸抢掠来往船只为生,很快就发展到数万人。
使瓦岗军发展得规模更大的人是李密。李密出身贵族世家,他的曾祖是西魏八柱国之一的李弼,他们家在北周、隋朝时都有世袭的爵位。李密在父亲死后,袭封蒲山公,他仗义疏财,结交了很多豪杰之士。年轻时,李密曾入朝为官,但并未得到重用。大业九年,隋炀帝二伐高丽,杨素的儿子杨玄感趁机起兵造反,并邀李密为参谋。李密为杨玄感提出了上中下三计,杨玄感不识货,采取了下计,最终落败。杨玄感失败之后,李密也被俘,但在押解途中逃走了,四处躲藏。
后来李密投靠了瓦岗,在他的指挥下,瓦岗军攻占荥阳周围诸县,并击杀了隋朝大将张须陀。随后,李密又率人攻取了隋朝储粮的兴洛仓,开仓放粮,赢得了百姓的支持。翟让见李密才能出众,便将领导权让给了他。
瓦岗军在李密的带领下,声势日隆。留守东都的越王杨侗派刘长恭和裴仁基分军讨伐李密,被李密打败,裴仁基投降了瓦岗。之后,在江都的隋炀帝也派王世充前去讨伐李密。王世充是一员勇将,但他得到重用却是因为善于逢迎拍马。在与李密的战斗中,王世充屡战屡败,最后孤身一人逃到洛阳。李密率军围攻东都洛阳,被各路起义军奉为盟主。
此时,镇守太原的李渊率兵进入关中,占领了长安,窦建德的起义军占领了河北,杜伏威和辅公祐的起义军则占领了江淮(今江苏中南部一带),天下形成了割据的局面,其他较大的势力还有朔方(今陕西靖边白城子)的梁师都、马邑(今山西朔州)的刘武周、金城(今甘肃兰州)的薛举、海陵(今江苏泰州)的李子通等。
窦建德是漳南(今河北故城东)人,原是一位地方豪杰,在隋炀帝一征高丽的时候应征入伍,成为二百人的小队长。窦建德有一个同乡叫孙安祖,遭遇水灾,家人饿死,县令强征他入伍,孙安祖愤而杀死县令,投奔窦建德,窦建德助他和另外几百人到高鸡泊(今河北省故城县西南)举兵反隋。
窦建德原本并未参加起义,而是随军出征。部队出发以后,当地的官员怀疑窦建德和清河(今河北省清河一带)起义军张金称、高士达等人有联系,杀了他全家。窦建德得知消息后,带领手下的200人投靠了高士达。高士达自称东海公,重用窦建德,合并了孙安祖部,很快发展到上万人。
大业十二年(公元616年),隋炀帝派杨义臣讨伐清河起义军,张金称部被打败,高士达也战死,窦建德成为起义军的首领。次年,窦建德在乐寿县(今河北献县)称长乐王。不久,他又打败了隋炀帝派来的薛世雄,攻克了河间,从而控制了河北地区。
杜伏威是山东章丘人,少时家贫,与辅公祐是至交。辅公祐见杜伏威家贫,偷了一只羊送给他,后来官府追查此事甚急,杜伏威和辅公祐索性造反,这一年(公元611年)杜伏威十六岁。杜伏威和辅公祐先是投靠了长白山起义军的左君行,但不被礼遇。后来,两人率部脱离了左君行,自己向南发展,先后合并了下邳苗海潮和海陵赵破阵等武装,日益强大。
大业十一年,李子通投奔杜伏威,这个李子通原来也曾投奔过长白山起义军,同样不被看重,所以也向南发展。杜伏威很高兴地收留了李子通,但是李子通是个不愿屈居人下的人,不久后他发动兵变,企图吞并杜伏威的势力,杜伏威差点被杀。正在此时,隋军来攻,杜伏威的部队因为无人指挥,被打得大败,李子通也在此战中失利,逃到了海陵。
此后,杜伏威开始四处游击,经过半年时间又恢复了数万人的实力。大业十二年,隋炀帝第三次游幸江都,杜伏威当时正在他的眼皮底下,隋朝派陈稜率八千精锐攻打杜伏威,几番相持之后,杜伏威大败陈稜,随后杜伏威又攻占了高邮、历阳(今安徽和县)等地,称雄江淮,自称历阳总管,封辅公祐为长史。
大业十四年(公元618年),宇文化及在江都谋反,杀死了隋炀帝,随后率着隋朝的后宫和官员西归。炀帝死后,占据长安的李渊很快称帝,国号大唐。王世充也奉留守洛阳的越王杨侗为帝,年号皇泰,史称皇泰主。宇文化及曾想封杜伏威为历阳太守,被杜伏威拒绝,杜伏威自己上书向皇泰主称臣,被封为东道大总管、楚王。
此时,李密正在攻打洛阳,宇文化及也想占领洛阳,李密怕腹背受敌,便向皇泰主称臣,被封为太尉,出兵讨伐宇文化及。宇文化及被李密打败,逃到魏县(在今河北大名县境内)。他说:“人生肯定会死,怎么可以不当一天皇帝呢!”于是在魏县称帝。不久,唐遣大将李神通讨伐宇文化及,宇文化及逃到山东聊城,被已经称夏王的窦建德俘虏后杀死。对于宇文化及带来的隋朝后宫和官员,窦建德放了他们,让他们自行投奔长安、洛阳或在突厥的义安公主(隋宗室女),也有一些臣子(如裴矩)就留在了窦建德手下。
李密打走了宇文化及之后,发现洛阳城内已经被王世充完全控制。此时李密因为怕翟让夺权,刚刚设计杀了翟让,瓦岗军内部离心,与宇文化及一战之后,瓦岗军实力大损。王世充趁机攻打李密,李密大败,带着两万人投奔了李渊。最初李渊待李密甚好,但不久就有些疏远,李密嫌李渊给的官小,常常报怨。后来李渊命李密去招回旧部,李密想要趁机谋反,王伯当等人苦劝,他不听,最终失败被杀。王世充打败李密之后,废皇泰主杨侗,自立为帝,国号为郑。
此时,天下最大的势力是李唐、王世充和窦建德,三家成鼎足之势。李渊的次子李世民率军出征,在消灭了薛举、刘武周等势力之后,开始进攻洛阳。王世充敌不过唐军,向窦建德求援。窦建德知道唇亡齿寒的道理,但他故意延迟出兵,为的是让唐军和王世充斗个两败俱伤。公元621年,窦建德率军来援,但却在虎牢(今河南荥阳境内)被李世民突袭打败,窦建德被俘,押到长安后被杀。王世充见窦建德失败,无力抵抗,很快也向唐朝投降。王世充到了长安后,李渊历数他的罪过,将他迁到蜀地,王世充在途中被仇人所杀。
宇文化及北归后,江淮一带有杜伏威、李子通、沈法兴三支势力,他们都对江都虎视眈眈。李子通最先下手,杜伏威、沈法兴分别出兵阻拦,但两家采取互相观望的态度,被李子通捡了便宜,占领了江都。此后,杜伏威接受了李渊的招降,名义上成为唐的属下,但实际上还是一支独立的势力。
公元620年,李子通出兵进攻沈法兴,沈法兴战败,逃回老巢吴郡,但随即李子通被辅公击败,他原来的地盘和新取得的地盘都被杜伏威占据。李子通战败之后,收集余部,又有了两万多人,他率领人马攻击逃回老巢的沈法兴,沈法兴部被消灭。杜伏威见李子通实力又有所恢复,再次派兵攻打他,李子通被俘,杜伏威将他献给了李渊。李渊将李子通软禁了起来。
此时,杜伏威已经统一了江淮一带。
窦建德失败后,他的余部奉刘黑闼为主,继续反唐。唐朝派李世民平定了刘黑闼,此时唐朝已经基本平定了天下。杜伏威怕遭到李渊的猜忌,主动请求入长安进见,李渊很高兴,把杜伏威留在了长安。李子通见杜伏威被留在长安,曾想偷回江淮,重新起事,但在逃走的路上被发现,终于被处死。辅公祐见杜伏威被留在长安,便发动兵变,率江淮军再次起兵反唐,但也很快就被平定。辅公起兵后,在长安的杜伏威突然死去。随着辅公部被消灭,隋末轰轰烈烈的起义军,终于接近尾声。