隋煬帝大業年間圍繞封爵勛官制度而推行的政治改革,勢在打破北周宇文泰以來實施的“關中本位政策”,通過限制、削弱關隴集團的強大勢力和影響,以整飭吏政,加強中央集權,擴大統治的社會基礎。但其政治改革的方案未盡成熟及過急的推進,未能與建立民生順遂、團結安定的政治局面相結合起來,最終爆發嚴重的統治危機。
由于軍閥割據四方,民不聊生,下層百姓紛紛起而反抗,農民戰爭遍布全國。在反隋斗爭中,各地起義軍逐漸匯集成翟讓、李密領導的瓦崗軍,竇建德領導的河北起義軍和杜伏威領導的江淮起義軍。三大反隋主力轉戰中原、河北和江淮地區,極大地動搖了隋朝統治基礎,造成了隋王朝總體崩潰形勢。在這種形勢下,統治階級內部逐漸形成策劃起兵的新動向,分崩離析,各自尋謀出路。
隋大業十一年(615年),隋煬帝任命唐國公李淵為河東宣慰大使,留守太原,赴山西鎮壓農民起義。李淵升任太原留守以后,一些山東世族子弟為逃避征遼東兵役,紛紛投靠李淵,河東地方官吏中一些人看到隋朝大勢已去,也和隋朝統治者同床異夢,這些人不斷向李淵勸進起兵,建立新王朝。李淵次子李世民是太原起兵的主要策劃者,晉陽縣令劉文靜向李世民分析當時的形勢說:“現在煬帝遠在江淮,李密圍攻洛陽,各地起義軍不下數萬,在這種形勢下如果有人起來倡呼,取天下易如反掌。太原有許多豪杰,可以集兵10萬,加你所帶的數萬軍隊,乘虛進入關中,號令天下,就可以成就帝業?!?/span>
于是李世民秘密做起兵準備。李淵與突厥作戰失敗,隋煬帝準備把他召到江都(今江蘇揚州市)治罪,李世民乘機勸說李淵起兵:“現在隋煬帝無道,百姓困窮,太原城外已是四戰之地,如果你只知道效忠隋朝,那么既有不能平定農民起義之憂,又有被隋煬帝治罪之懼,恐怕要禍及自身了。不如順民心,興義兵,就能夠轉禍為福?!迸峒?、許世緒、武士彟等紛紛勸李淵起兵,李淵終于下定了反隋的決心。
隋大業十三年(617年)六月,李淵命劉文靜假造隋煬帝詔書,偽稱要征發太原、西河(今山西汾陽縣)、雁門(今山西代縣北)等地20至50歲男子,集合到涿郡(今河北涿州市),東征高麗,搞得人心慌恐,更加劇了反抗隋朝的情緒。
李淵派李世民、劉文靜、長孫順德、劉弘基等人到各地募兵,招集到一萬余人。太原副留守王威和高君雅看到李淵招兵買馬,準備告發,先殺李淵。李淵、李世民則先發制人,偽稱王威、高君雅引突厥兵入寇,在晉陽宮殺死這二人,史稱“晉陽事變”。晉陽事變是李淵集團公開起兵的開始,然后北聯突厥貴族勢力,依靠關隴、河東地主集團的力量,宣稱尊煬帝為太上皇,擁立鎮守長安的代王楊侑為帝,傳檄郡縣,起兵晉陽。
西河郡隋將得知李淵起兵的消息,在城內拒守。李淵派李建成、李世民率兵攻打西河,并派太原令溫大有參謀軍事。西河郡兵微將寡,郡丞高德儒閉門守城。李世民身先士卒,與士兵同甘共苦,軍隊秋毫無犯,士民非常高興。李建成僅僅用了9天時間便攻下西河,殺死高德儒。李淵命令開倉賑饑,招募士兵,把軍隊分為三軍,李淵為大將軍,李建成封隴西公、左領軍大都督,統領左三軍,李世民封敦煌公、右領軍大都督,統領右三軍,將軍府、都督府各置官屬,統成了強有力的軍事機構,力量更加壯大。
七月,李淵命李元吉留守太原,親自率軍3萬,在西突厥兵協助下,向長安進發。
隋大業十三年(617年)六月,李淵自太原出兵。長安代王楊侑派虎牙郎將宋老生、驍衛大將軍屈突通抵御李淵。李淵南下逼進霍邑(今山西霍縣),正趕上連雨,軍隊缺乏糧食,李淵、裴寂準備返回太原,李世民哭諫,他說:“現在正是收獲季節,田野到處都是菽谷,何必擔心糧食不夠?如果遇到抵抗就班師撤兵,恐怕將士解體,大勢已去?!崩罱ǔ芍С掷钍烂竦闹鲝垼卜磳ν嘶靥?,李淵才同意與隋軍在霍邑交戰。
戰斗開始之前,李淵、李建成在城東列陣,李世民在城南列陣,太原兵初戰不利,李世民從城南率騎兵直沖隋將宋老生陣,從背后夾擊隋軍。李淵與李世民合擊,隋軍腹背受敵,遭到慘敗,宋老生被殺,霍邑被攻克。隨后李淵相繼攻克臨汾郡和絳郡(今山西新絳縣),進逼龍門(今山西河津縣西北),關中勢力大的一支武裝孫華和馮翊(今陜西大荔縣)太守蕭造投降李淵。
八月,在霍邑之戰大捷后,乘隋軍主力在洛陽附近與瓦崗軍大戰之機,即沿汾水(今汾河)挺進,連下臨汾、絳郡(治今山西臨汾南、新絳),進至龍門(今河津東南)。隋左武侯大將軍屈突通領兵數萬屯河東(今永濟西南),阻擋李淵軍。
此時司馬劉文靜引突厥大將康鞘利所率兵500、馬匹2000趕至,使李淵實力大增。關中起義軍首領孫華率兵響應。李淵遂遣左右統軍王長諧、劉弘基及左領軍長史陳演壽等率步騎6000自梁山(今陜西韓城境)渡河,營于黃河西岸,以待大軍。
九月,李淵率軍圍河東,不克。遂采納次子李世民與裴寂等建議,留諸將圍河東,自引軍而西。隋朝諸縣多請降。
李淵率軍渡黃河,進駐朝邑(今大荔東南)并遣長子李建成率領劉文靜、王長諧等諸軍數萬人,進屯永豐倉,扼守潼關,以阻隋軍西援;遣李世民率領劉弘基等諸軍數萬人,沿渭水北岸經高陵(今屬陜西)迂回長安。屈突通獲悉李淵軍西入,遂留鷹揚郎將堯君素守城,自領數萬人援長安,被劉文靜等阻于潼關。
李世民所部得到平陽公主等李氏家族及農民起義武裝的接應,順利抵達涇陽(今屬陜西)。李淵遂命劉弘基、慰撫使殷開山率兵一部南渡渭水,奪取長安故城(今西安西北)。李世民引兵赴司竹園(今周至東南),使新附的地方武裝李仲文、何潘仁等部屯于阿城(即阿房宮故址,今西安西南),其兵力發展到13萬人。李世民自盩厔(今周至)遣使請李淵期日赴長安。李淵料定屈突通不能西援,遂命李建成選精兵,經新豐(今臨潼東北),直抵長樂宮;李世民率新附諸軍回屯長安故城;李淵自馮翊(今大荔)率軍經下邽、櫟陽(今渭南北、臨潼北)西進。十月初四,李淵至長安,營于城東。此時諸軍皆集,合兵20余萬。隋京師留守、刑部尚書衛文升、左翊衛將軍陰世師等奉代王楊侑據守長安城。李淵遣使告諭不應,遂于十四日下令圍城。二十七日命令攻城。
李淵軍圍長安后,并不急于攻城,而是嚴申軍令:士兵不得擅自離營,不得入附近村落搶掠。同時派人至城下,向城中守將申訴尊隋之意,即希望長安守軍能棄暗投明,以免因用兵而雙方遭受傷亡,但對李淵的好意,守城軍置若罔聞。不得已,李淵命諸軍攻城。并與部下相約“毋得犯七廟及代王、宗室,違者夷三族!”
十一月,李淵匯合李建成、李世民、劉弘基之兵20余萬攻打長安,軍頭雷永吉率先登上城頭,京城長安被攻克。
十一月初九,李建成部將雷永吉等先登入城,諸軍相繼到達,攻克了長安。李淵在長安迎立代王楊侑為傀儡皇帝,自任使持節、大都督內外諸軍事、尚書令、大丞相,加封唐王,與民約法12條,得到了關中地主階級的支持和擁護。
李淵從太原起兵到攻克長安,只有短短的五個月時間??偟男蝿菔撬迥┺r民戰爭打垮了隋朝統治,牽制了隋軍大量兵力,使隋朝統治集團無力西顧,關中空虛,不能和新興的李淵集團抗衡,這是總的戰略形勢決定的。
在攻取長安的過程中,李淵父子運用戰術巧妙,如與關東李密聯合,拖住隋軍無暇西顧,入關后立即屯兵潼關,阻住了隋朝援軍。
具體戰術運用方面當機立斷,不失時機,如在攻打河東與進軍長安時雙管齊下,收效顯著。事實證明,這種部署是成功的,長安失陷以后,屈突通看到隋朝大勢已去,開城投降了李淵。李淵進軍途中秋毫無犯,得到了關中地主階級支持,減少了阻力,因而能夠迅速攻占長安,奠定了興唐基礎。
占領長安后的次年五月,李淵篡隋,自立為帝,定國號為唐,隋朝滅亡。降隋恭帝為酅國公,閑居長安,次年五月去世。李淵就是唐高祖。改元武德,都城仍定在長安。而后,長子李建成被封為太子,次子李世民為秦王,三子李玄霸早夭,四子李元吉為齊王。唐朝建立后,李淵派李世民征討四方,剿滅各方群雄(參見唐朝統一戰爭)。