在農民起義軍的打擊下,隋煬帝困守江都,危在旦夕,隋王朝已經注定即將滅亡。窮途末路的隋煬帝惶惶不可終日,對大臣們無端猜忌,動不動就將大臣或處死或貶抑。李淵也受到隋煬帝的猜忌,早就有取代隋朝之心的李淵也準備起兵反隋,但還是有些猶豫不決。這時李世民仗義疏財,私下結交義士、俠客,贏得了不少有識之士為其出謀劃策。當時的晉陽縣令劉文靜和晉陽宮副監裴寂都是李世民莫逆之交,他們與李世民一道多方勸說李淵盡快起事,李淵終於下定決心。公元617年農曆五月,李世民協助父親李淵除掉了隋煬帝派來監視他們的親信,在晉陽宣布起兵,正式打出了反隋的旗號。
晉陽起兵以後,李世民的哥哥李建成、弟弟李元吉以及妹夫柴紹也先後率領一部分隊伍從河東、長安秘密趕至晉陽會師,使起義力量迅速擴大。隨後,李淵建立了左、中、右三軍,李世民被任命為敦煌公、右領軍大都督,統帥右三統軍。然而,李淵出師不久就遇到了隋將宋老生的抵抗。由於遇上陰雨連綿,軍餉未到,突厥援軍也遲遲不來,李淵失去信心,準備退回晉陽另作他圖。李世民勸住了父親,使李淵堅定了信心。在攻打宋老生的激戰中,李世民血染戰袍,身先士卒,帶領士兵擊潰了宋老生。
此後,李淵又率軍東進,又遇到隋將屈突通的頑強抵抗,李淵部隊內部意見不一,李世民力排眾議,建議主力繞過屈突通,迅速向長安進軍。李淵再次聽從了李世民的這一大膽建議,還命令李世民沿途收編各路歸附李氏的地主武裝,李世民的西路軍迅速發展到十多萬人。攻下長安後,李淵先將隋煬帝的孫子楊侑立為傀儡皇帝,以便號令天下。然後在關中積極發展勢力。公元618年5月,李淵正式即位,國號為唐,李世民被任命為尚書令,改封秦王。從此以後,李世民就以秦王的身份活動於政治舞台,叱吒於隴西、關東。
唐王朝建立後,政權還不十分穩固。在隋末的政治舞台上,李氏的實力並非最強。誰能順平形勢,采取正確的作戰方針,誰才能最終取得勝利。但是,李淵稱帝後不便再親自掛帥出征,皇太子建成也需要留在京城協助父皇處理各項政務。因此,指揮和領導統一戰爭的重任就自然地落在了秦王李世民的身上,開始了他曆時4年多的艱苦卓絕的統一戰爭生涯。
秦王李世民的第一個對手是盤踞在金城(今甘肅蘭州)的薛舉。當時,薛舉擁兵80萬,地理位置得天獨厚。此患不除,李淵就不敢東出潼關,進兵關東。公元618年11月,李世民親自率領大軍討伐薛舉。經過兩次激烈的交鋒,終於蕩平了這一割據政權。當時,國內尚有劉武周、王世充、竇建德等強大的軍閥勢力和農民軍勢力,北方突厥汗國更加強大,在唐的北部扶植了占據朔方(今陝西橫山)的梁師都和占據馬邑的(今山西朔縣)劉武周兩個傀儡。劉武周南下攻唐,一時間聲勢浩大。李淵放棄河東,退守關中,李世民予以反對,並主動請纓大敗劉武周。李唐王朝轉危為安。
此後,李世民又轉戰中原,公元620年7月,大軍逼近洛陽。竇建德出於自保,親率10萬大軍增援困守洛陽的王世充。李世民正確地判斷了軍事形勢,衡量了自己的軍事實力,毅然擴大了戰役範圍,果斷地兵分兩路,一路繼續攻城,一路由他帶領,進駐虎牢(今河南汜水),擋住了竇建德的去路。次年五月,決戰虎牢,竇建德兵敗被俘,王世充走投無路,舉城降唐。李世民一舉戰敗了王世充、竇建德兩支勁旅的戰役,充分顯示了李世民的機智果斷以及出色的軍事膽略和指揮藝術。
李世民統一全國的卓著功績,使他威信日高,權力日重,政治地位和軍事地位都在迅速增長。李世民還在晉陽起兵和統一全國的戰爭中,利用自己特殊地位和條件,收羅了大批謀臣猛將,逐漸組成了一個以他為核心的政治集團。李建成非常妒忌李世民所取得的軍事地位和政治地位,也很擔心李世民會跟他爭奪皇太子的位置。為了維護自己的皇位繼承權,李建成也大力搜羅人馬,又與弟弟齊王李元吉結盟,共同對付李世民。因而圍繞著王位繼承問題,形成了以李建成為首的“太子黨”和以李世民為首的“軍功黨”,他們互相傾軋,明槍暗箭,愈演愈烈,直到公元626年李世民的先發製人才結束了這場皇室鬥爭。
這時,突厥入塞圍攻烏城,李建成便請求唐高祖讓李元吉北征,唐高祖答應了。
臨出征前,太子東宮的王至暗中投靠了李世民,他把李建成和李元吉企圖趁李世民給李元吉餞行時,趁機下手的陰謀告訴了李世民,李世民聞言大驚,終於痛下決心,采納長孫無忌和尉遲敬德的建議,先發製人,除掉李建成和李元吉。經過密謀,李世民於當天夜裏進宮,向唐高祖告狀,並求得唐高祖下令第二天一早,召兄弟三人一起進宮對質。
第二天早晨,李建成和李元吉奉旨進宮,他們帶著幾名家人來到玄武門時,發現李世民已在門前等著他們。李建成和李元吉覺得事情不對,趕緊撥轉馬頭,準備回去。李世民騎著馬追來,李元吉慌忙轉過身來,拉開弓,就想射殺世民,但弓弦還沒拉開,李元吉就慌裏慌張地把箭射了出去。李世民很輕易地躲過了,馬上拉弓搭箭,將跑在前麵的李建成一箭射死,李元吉嚇得沒命地騎馬狂奔,結果被李世民的心腹尉遲敬德射殺。太子東宮和齊王府的衛隊2000餘人聞訊趕來,與李世民的士兵混戰在一起。李世民下令將士守住玄武門,並讓尉遲敬德進宮,逼迫唐高祖李淵立李世民為太子,並將國事委托給李世民處理。兩個月後,李淵被迫退位,李世民隨即登基稱帝,是為唐太宗。