7世紀初推翻隋朝統治的農民大起義。隋朝末年,隋煬帝楊廣濫用民力,大興土木,窮兵黷武,用暴力迫使農民與土地分離,嚴重摧毀瞭生產力,社會生產被破壞,階級矛盾迅速激化。大業五年(609),長白山(今山東章丘東北)有“狂寇”數萬。六年,北方的雁門(今山西代縣)和東都洛陽,先後發生暴動。雖不久都被鎮壓,但卻是全國性農民起義的先兆。黃河南北一帶,在營建東都、修繕長城、開鑿運河的過程中,遭受的禍害最為嚴重。大業七年,煬帝下令進攻高麗,在全國徵兵百餘萬人向涿郡(今北京)集集中,又強征上百萬的民夫轉運糧械。車牛往者不返,士卒死亡過半,耕稼失時,田疇多荒,給人民帶來巨大災禍,這一帶農民紛紛起義反抗。

  同年,鄒平(今山東鄒平北)民王薄聚集農民據長白山起義,自稱“知世郎”,作《毋向遼東浪死歌》反對遼東之役,以發動民眾。逃避征役的廣大農民紛紛參加到王薄起義軍中。隨後,平原(今山東陵縣)劉霸道、鄃縣(今山東夏津)張金稱、漳南(今河北故城東)孫安祖和竇建德、渤海(今河北陽信西南)高士達、韋城(今河南滑縣東南)翟讓、章丘(今山東章丘西北)杜伏威等相繼起兵。其餘反隋小股武裝不可勝數。這一年起義軍主要起於今山東、河北、河南間,聚保山林川澤,主力則是逃避征役的貧苦農民。

  煬帝無視人民的憤怒與反抗,大業八年悍然發兵攻打高麗,促使起義進一步發展。這一年,見諸史籍記載的新的起義軍有二十一支,其中,山東十四支,江淮四支,河南、關中和河西各一支。起義的地區擴大,重點仍在河北、山東。起義的群眾基礎也擴大瞭,大多數是貧苦農民,也有牧子(身份不自由的牧民)和下層僧侶。

  在起義迅速擴大的同時,隋統治集團內部發生分裂。大業九年,煬帝發動第二次對高麗戰爭,大貴族楊素之子禮部尚書楊玄感,乘煬帝在遼東之機,聯合一批貴族子弟起兵黎陽(今河南浚縣北),進逼東都。煬帝與玄感之間的廝殺,抵消瞭統治階級的實力,義軍乘機發展。到大業十年第三次對高麗戰爭時,義軍處處皆是,道路隔絕,官軍已經無法按期集中。

  大業十一年以後,隋統治階級開始把大部分軍隊用於鎮壓農民起義軍。煬帝還命令在郡縣城郭、驛站、村莊的周圍修築城堡,強迫農民到城堡裡居住,以隔斷義軍與民眾的聯系。統治者對起義軍和一般農民進行瞭瘋狂的大屠殺。隋將樊子蓋鎮壓起義軍時,將汾水以北村莊全部燒光,俘虜的起義軍全部被屠殺。王世充打敗江南劉元進起義軍時,把誘降來的三萬人也全部屠殺。

  統治者的殘酷鎮壓迫使更多的農民起來反抗,到大業十二年,先後在全國各地興起的起義軍大小不下百餘支,義眾達數百萬。起義軍攻陷許多郡縣,消滅大量隋兵。隋煬帝調楊義臣率遼東還兵鎮壓河北起義軍,自率禁軍到江都,鎮壓南下江淮的起義軍。在和隋軍主力作戰的過程中,起義軍敗而復聚,由分散走向集中,逐步形成瞭瓦崗軍、河北夏軍和江淮吳軍三支主力。

  瓦崗軍的創始人是翟讓。大業十二年,曾參預楊玄感反隋的貴族李密也來參加瓦崗軍。他說服附近小股起義軍聚集到瓦崗軍周圍。瓦崗軍攻破要塞金堤關,打下滎陽(今河南鄭州)諸縣。煬帝以張須陀為滎陽通守,率兵兩萬前來鎮壓。李密說服翟讓還擊。翟讓率兵列陣以待,李密統驍勇常何等遊騎千人埋伏於滎陽大海寺北,大敗隋軍,陣斬張須陀。這是起義軍在河南境內的第一次大勝仗,為起義軍在中原地區的勝利發展奠定瞭基礎。大業十三年二月,瓦崗軍攻破興洛(後改洛口)倉,開倉賑濟饑民。留守東都的越王侗急派劉長恭和裴仁基分兵兩路,準備在興洛倉合擊瓦崗軍。瓦崗軍先擊潰瞭劉長恭所率的兩萬五千步騎,不久又招降瞭裴仁基。翟讓推李密為瓦崗軍首領,號魏公。趙魏以南(今河北中部及南部)、江淮以北的各路起義軍皆歸瓦崗軍,眾至數十萬,幾乎控制瞭河南全境。瓦崗軍成為河北、山東各路起義軍的盟主。四月,瓦崗軍圍迫東都,將二十餘萬隋軍困於孤城。

隋末農民起義圖

  在河北地區,大業十二年,張金稱、高士達先後被隋軍鎮壓,竇建德收合兩部餘眾,軍勢復振,很快發展到十餘萬人。隋在河北地方上的武裝力量基本上已被消滅,起義軍兵鋒所至,隋朝官吏“稍以城降之”。次年正月,竇建德在樂壽縣(今河北獻縣)郊建立政權,自稱長樂王,署置百官,改元丁醜。

  在江淮一帶,大業十二年七月,煬帝至江都(今江蘇揚州)時,李子通據海陵(今江蘇泰州),左才相在淮北,杜伏威屯六合,從三面威脅江都。煬帝遣陳稜率宿衛精兵八千進行討伐,互有勝負。次年正月,又遣陳稜征討江淮一帶起義軍中力量最強大的杜伏威。隋軍大敗,起義軍乘勝攻破高郵(今江蘇高郵北),占歷陽(今安徽和縣),杜伏威自稱總管,以輔公祏為長史,很快控制瞭淮南各縣,江淮間小股反隋武裝多來歸附,形成瞭江淮間巨大的起義力量。

  從大業十三年三、四月瓦崗軍圍逼東都開始,以瓦崗軍為中堅,以竇建德、杜伏威為兩翼的農民起義軍,對隋王朝進行瞭摧毀性的打擊。六月,瓦崗軍大敗隋軍,東都危急。七月,煬帝抽調“江淮勁卒”和“燕地精兵”奔赴東都,涿郡留守薛世雄統率燕地精兵三萬南下攻瓦崗軍,兵至河間(今屬河北),營於七裡井,準備會合河間諸縣兵先行鎮壓竇建德起義軍。竇建德指揮部隊從各城中撤出,向南轉移,然後乘薛世雄不加防備,選精兵數千人為伏兵,親率敢死之士兩百八十人夜襲。三萬隋軍潰散。薛世雄帶數十騎逃回涿郡。竇建德起義軍又重新控制瞭河北的大部分地區。

  八月,瓦崗軍占領黎陽倉,開倉賑濟饑民,擴大起義隊伍數十萬人。煬帝又命江都通守王世充統率洛陽附近諸郡兵與東都留守兵共十餘萬人,在洛水兩岸同瓦崗軍展開激戰。王世充屢戰屢敗,有些隋將投降李密。這時洛陽城內缺糧,餓死的人很多。河北、山東、河南和江淮流域都被起義軍占領,隋的軍事力量也大部被起義軍消滅,隋王朝直接控制的地方越來越狹小。形勢對瓦崗軍非常有利。但由於瓦崗軍內部矛盾日益加深,李密始終不肯改變在洛陽城下與隋軍主力長期鏖戰的錯誤戰略,所以沒有取得決定性勝利。

  在農民起義軍從各條戰線向隋王朝發起全面進攻的同時,朔方(今內蒙古白城子)梁師都、馬邑(今山西朔縣)劉武周、金城(今甘肅蘭州)薛舉等地主官僚也紛紛起兵,割據地方。大業十三年五月,隋太原留守李淵也從太原起兵,七月,趁隋軍與瓦崗軍大戰之機,進入關中。十一月,攻克長安。

  大業十四年三月,在江都的隋禁軍將領利用關中士兵思歸的情緒,推宇文化及為主,發動兵變,殺死隋煬帝,領兵西歸。五月,李淵在長安即皇帝位,建立唐朝。留守東都的隋越王侗也在洛陽即皇帝位,改元皇泰,史稱皇泰主。

  煬帝死後,階級關系發生很大變化。杜伏威上表於洛陽小朝廷,皇泰主拜伏威為東道大總管,封楚王。李密也在宇文化及大軍壓境的情況下,為瞭避免腹背受敵,向皇泰主稱臣。李密大破宇文化及的軍隊,但自己的兵力損失也很大,於九月被實際控制東都的王世充乘虛打敗,投降李淵。隻有竇建德的夏政權在河北仍保持獨立。武德四年三月,唐兵進攻洛陽王世充,竇建德親自統兵十餘萬援助王世充,和唐軍相持於虎牢(今河南滎陽西北)一帶。謀士凌敬建議全軍渡河,攻占河陽,越過太行山,進軍汾水流域,威脅關中,迫唐軍從洛陽撤退。建德不聽。五月初,李世民襲擊得手,夏軍潰散,建德被俘。之後,建德留守洺州諸將士或散盡,或降唐。七月,竇建德於長安被殺。夏亡。

  竇建德被唐軍鎮壓後,餘部在劉黑闥領導下,復於武德四年、五年兩次起義於河北,六年被消滅。杜伏威於武德二年降唐,五年入朝長安,以輔公祏留守。唐以杜伏威為太子太保,仍兼行臺尚書令,留長安。六年,這支義軍又在輔公祏領導下起義反唐,次年三月被消滅。