隋朝末年,各地群雄並起,農民起義不斷。亂世之中,隋煬帝不得不重用李淵。李淵借此之機,大樹威信,廣結豪友,擴大力量,使各路英雄紛紛投奔自己。就是在這樣的亂世中,李淵抓住時機,在晉陽起兵,一舉開創了李家天下。
隋煬帝即位伊始就大興土木,建東都、修長城、開運河、築馳道,使得民不堪命。煬帝又好大喜功:巡遊江南,北上榆林,以誇耀自己的權勢;出兵邊塞,侵略高麗,以顯示自己的武威。結果徭役無時,戰爭頻繁,社會生產遭到嚴重破壞,人民生活痛苦不堪。致使黃河之北,千裏無煙;江淮之間,土地荒蕪。人民無法生活下去,不得不鋌而走險,以武力來反抗隋煬帝的殘暴統治。這不僅加深了隋煬帝統治的危機,也進一步激化了統治集團內部的矛盾。公元611年,隋煬帝發動了侵略高麗的戰爭,李淵受命在懷遠鎮負責督運糧草。當時,民不堪苦,怨聲沸騰,貴族楊玄感利用人民的不滿情緒,起兵反隋,有相當多的貴族子弟追隨其後,遂爆發了反隋的第一次大叛亂,進一步加重了隋煬帝對大臣的猜忌。隋煬帝命李淵鎮守弘化郡(今甘肅慶陽),兼知關右諸軍事,以防禦楊玄感。楊玄感兵敗後,李淵繼續留守弘化。在這期間,李淵廣樹恩德,結納豪傑,隋煬帝對他有所猜忌。一次隋煬帝巡幸當中,征召李淵來行宮覲見。李淵稱病沒有前來,結果招致隋煬帝的不滿。隋煬帝曾對身邊的宮人說:“索性死了,倒也完事!”在這樣的形勢下,李淵除了更加倍小心謹慎以外,必然也要設法自保,尋求出路。
隋煬帝由於出兵高麗、鎮壓各地的造反者,不能不繼續重用李淵。公元615年,李淵在河東(今山西省北部)平定了當地許多土匪,抗拒了突厥人對邊境的侵犯,表現出過人的軍事謀略。李淵鎮守太原之初,隋煬帝從樓煩巡遊到雁門時,被突厥兵包圍,因為李淵的太原兵才得以解圍。隋煬帝便讓他和馬邑郡守王仁恭一同北擊突厥。在馬邑,李淵與王仁恭兩軍兵力不過八千多人,王仁恭因為兵少深感害怕。李淵經過深思熟慮,提出了“胡服騎射”的主意。隋軍兵馬不足五千,李淵選能騎善射者兩千餘人,飲食起居一同突厥,馳騁射獵,以耀威武。有一天,李淵的軍隊與突厥軍相逢,李淵縱兵出擊,大敗突厥,此後突厥收兵北移,不敢南下騷擾。
此時隋煬帝荒暴,頗失民心,對大臣的猜忌心越來越重。在京畿一帶流傳著謠言:“桃李子,有天下”,“楊氏將滅,李氏將興”。謠言傳到隋煬帝耳中,引起他對李姓朝臣的疑忌,李密正是因此被逼去瓦崗寨起義了。在大業十三年(617年)李淵被任命為太原留守。太原是軍事重鎮,曆來是兵家必爭之地。不僅兵源充足,而且餉糧豐沛,儲糧可供十年之用,李淵初到太原時,有“曆山飛”農民起義軍結營於太原之南,使得上黨(今山西長治)、西河(今陝西汾陽)、京都道路斷絕。這支起義軍有十幾萬人,巧於攻城,勇於力戰,多次打敗隋軍。李淵為樹立自己的威信,決定討伐“曆山飛”農民起義軍。兩軍相遇於河西雀鼠穀口,起義軍有兩萬餘人,布陣齊嚴,而李淵所部步騎僅五六千餘。在力量如此懸殊的情況下,李淵決定智取,他將所部將兵分為二陣:以贏兵居中,揚旗鳴鼓,排成大陣,造成是主力的假象,然後以麾下精兵數百騎,分成兩個小陣,左右出擊,終於打敗了起義軍。
李淵擊敗起義軍後,他在太原的統治地位得到鞏固,晉陽(今山西太原境內)一帶的官僚、地主、豪商也紛紛投靠李淵,他成為太原的最高統治者。
李淵赴晉陽上任時,留長子李建成、四子李元吉在河東,潛結英俊,擴大自己的力量;次子李世民隨侍晉陽,李淵也授意他密招豪友,廣攬人才。晉陽令劉文靜、晉陽宮監裴寂以及逃避征遼、負罪在逃的右勳衛長孫順德、右勳侍劉弘基、左親衛竇琮等人紛紛投靠李淵,因此李淵十分高興,意欲在太原發展自己的勢力,他在太原開始謀劃起兵。
此時,農民起義的烽火已燃遍全國各地,逐漸形成以李密、竇建德、杜伏威為首的三支主力農民起義軍,他們分別活動在河南、河北、山東和江淮一帶,以摧枯拉朽之勢瓦解著隋王朝的統治,將隋統治集團及其軍隊主力分隔於江都(今江蘇揚州)、洛陽、長安三處,使之陷入四分五裂的狀態。一些貴族和地方官吏見隋朝大勢已去,也乘機而起,占據郡縣,建立割據政權,稱王稱帝,隋王朝的統治已是日薄西山、奄奄一息。在這種形勢下,早就心懷異誌的李淵父子將起兵的準備正式提上了日程。
李淵的行動,引起忠於隋煬帝的副留守王威和高君雅的懷疑。大業十三年(617年)六月,李淵設計殺掉王、高二人,宣布大舉義兵。李淵從太原起兵進入關中,一路軍紀嚴明、秋毫無犯。李淵率部占領隋朝舊都大興城(即長安,今西安)以後,更以其高超的政治手腕與政治謀略展示出了一個新王朝開創者的風采。