大业十三年(617年),李渊被任命为太原留守,郡丞、虎贲郎将王威、虎牙郎将高君雅为副,负责围剿上党的历山飞、甄翟儿等叛军,并在雀鼠谷之战中大破之。当时因隋炀帝三征高句丽,民乱纷起,在江都的隋炀帝已无力控制全国。二月,马邑校尉刘武周杀死太守王仁恭,夺取了汾阳宫(在今山西省宁武县西南管涔山上)的兵器甲胄,举兵反隋,自称天子。
受此威胁,李渊获得隋炀帝派来监视他的王威、高君雅支持,命次子李世民与晋阳令刘文静及门客长孙顺德、刘弘基等人招募兵马,又暗中派人去河东蒲州召回世子李建成及四子李元吉。不久,兵马大集于兴国寺,王威、高君雅大为不安,疑惧李渊要反,就请李渊到晋祠祈雨,准备除掉他。晋阳乡长刘世龙与高君雅交好,得知两人欲对李渊不利,就密告李渊,李渊于是暗中防备。
五月十四日癸亥夜,李渊派遣长孙顺德、赵文恪等人率兴国寺所聚集的兵马五百人,埋伏在晋阳宫城东门之左。次日早,李渊召集王威、高君雅等文武官僚于晋阳宫,开阳府司马刘政会上庭指控高君雅、王威等与北虏私通,引突厥南寇。李渊让王威等二人取状看之,刘政会不肯交与,言:“所告是副留守事,唯唐公得省之耳。”李渊假意惊讶:“岂有是乎!”高君雅怒骂道:“此是反人,欲杀我也!”晋阳县令刘文静立即呼叫军士,将王威、高君雅绑住囚禁于监狱。
六月初,李建成等人到达晋阳。五日,李渊派大郎李建成、二郎李世民攻打西河郡(今汾阳),西河郡丞高德儒固守,郡司法书佐朱知瑾等人投降,引军入城,高德儒被杀。往还九日,西河遂定。得此次胜利鼓舞,裴寂、刘文静等劝李渊起兵,并向突厥借兵。
李渊
十四日,李渊组建大将军府,自为大将军,任命裴寂为长史,刘文静为司马,唐俭和前长安尉温大雅为记室,温大雅仍和他弟弟温大有共同掌管机密,任命武士彟为铠曹参军,刘政会和武城人崔善为、太原人张道源为户曹参军,晋阳长上邽人姜謩为司功参军,太谷长殷开山为府掾,刘政会为府属,以及权弘寿、卢阶、田德平参佐等官。将招募来的兵马分为左右三军,世子李建成封陇西公、左领大都督,统领左三军;次子李世民为敦煌公、右领大都督,统领右三军;李元吉为姑臧公,领中军。长孙顺德、鹰扬郎将王长谐、姜宝谊、刘弘基、窦琮、李高迁、杨毛、阳屯、魏进等人分别为左右统军、副统军。柴绍为右领军府长史。十八日,突厥始毕可汗派其柱国康鞘利、级失、热寒、特勤、达官等,送马千匹来太原进行互市,并答应借兵给李渊。李渊派刘文静随康鞘利回突厥汗帐,联络借兵事宜。
七月四日,李渊以第四子李元吉为太原太守,留守晋阳宫。五日,李渊树立白旗,以王威、高君雅祭旗,誓军于野,发布檄文,统帅甲士三万人,号称义军,正式起兵。
开始十日无战事,在抵达灵石的贾胡堡后,五十里之外的霍邑(今山西霍县),已由杨侑派出的将军宋老生布下了防线。这是第一仗,关系到李渊军出师是否顺利的第一仗。可天公不作美,连旬泼大雨,后方粮饷难以继运,前方道路泥泞三尺,李渊不得已下令部队暂作休整,以待天气变化,以待粮饷供应。
但等了多日,雨仍不见止,刘文静迟迟未来,军中忽然传出流言,说突厥已生变卦,准备乘虚袭击太原,军心开始动摇。面前的仗不能打,大本营又可能面临危险,李渊犹豫了,再三思量后,欲放弃进攻关中,调转兵锋,北撤太原,并命令部分左军作为撤退的先头部队。
李世民
这个决定,遭到了李建成、李世民的反对,兄弟俩认为,后撤是错误的,非但大业将毁于一旦,且前景是令人担忧的。他俩苦谏、长谏,终于谏得李渊回心转意,收回了成命。到八月初,天终于放晴。李渊发起向霍邑的进攻令,为了消化对方高城严备的优势,他亲自上阵,以弱兵相诱,将宋老生诱出城来。
贪功的宋老生中了计,倾其主力出城,欲一举消灭李渊军。双方接触后,李渊佯败,向后退却,待宋老生进入预设的伏击圈后,阵斩宋老生,全歼其部,随之攻克霍邑。凯歌高奏,李渊军乘胜向前推进。途中,出使突厥的刘文静赶来,他顺利地完成了使命,争取了突厥政治与军事的双重支持,并带来了突厥助战的军队五百人及二千匹战马。
九月初,李渊军兵临杨侑设下的第二道防线河东城(今山西永济西)下。河东城位于黄河东岸,为隋骁卫大将军屈突通所把守,他凭借坚固的娀墙和险要的地理形势,把河东城守得固若金汤,并撤去了河上的浮桥及各种船只,阻止李渊军渡河。李渊争取到当地居民及义军的支持,得了些舟楫,组织敢死队绕城渡河。
可敢死队遭到了屈突通的夜袭,溃不成军。李渊围城挑战,然屈突通坚壁不出;发动攻击,却损兵折将,陷人极为不利的境地。李渊望城兴叹之际,李世民、裴寂等人献计,主力溯河北上,从梁山(今陕西韩城东黄河中)、龙门(今山西河津西北黄河中)渡河;分兵继续围城,阻止屈突通迫击。
屈突通
形势豁然开朗,龟缩在河东城中的屈突通不得动弹,李渊率主力按计渡过黄河,进入三秦地界,受到士民的普遍欢迎。他命李建成、刘文静率部进占永丰仓(今陕西华阴东),兼守潼关,扼制东向来授之敌;命李世民率部沿渭水经营,直取长安。李世民的部队并非孤军深入,他的叔父李神通、妹妹平阳公主与妹夫柴绍大妇等人相继起兵,联络当地义军,成功地扫荡了长安以外的隋军据点和营垒,前来与李世民会师。
随之,李建成挥部入关,李渊统军西上,形成了对长安的包围。夺取长安,是一场大战。李渊军已达二十万人,在关中形成绝对的优势。然辅助杨侑的刑部尚书卫文昇、右辅翊将军阴世师、京兆郡丞滑仪善死不降,领导城内军民展开了长安保卫战。李渊下令攻城,经过血战,于十ー月攻陷了长安城。此时杨侑已成愧儡.任凭李渊摆布,被戴上了空头天子的名号,改元义宁。李渊自任大丞相、大都督,都督内外诸军事,受封唐王,总理万机。
次年(618年)三月,隋炀帝在江都被宇文化及所杀。五月,李渊废黜杨侑,称帝,改国号唐,隋朝灭亡,唐朝建立。