非常道实力超群的李渊在攻下都城长安之后,并不急于称帝,韬光养晦,步步为营,可见他的度量和胆识是一般人所不能比的。
隋朝末年,隋炀帝杨广的残暴统治,使得阶级矛盾十分尖锐。隋炀帝杨广即位后,就大兴土木,建东都、修长城、开运河、筑驰道,弄得民不聊生。
杨广又好大喜功,巡游江南,北上榆林,以夸耀自己的武力;出兵边塞,侵略高丽,以显示自己的威风。由于徭役深重,战争频繁,社会生产遭到严重破坏,人民生活痛苦不堪。广大群众无法生活下去,不得不铤而走险,以武力反抗隋炀帝杨广的残暴统治。
公元611年,各地农民起义风起云涌,有的隋军将领也割据一方。天下沸腾,群雄割据,全国有竟然有一百多支反隋大军。
在反隋斗争中起义军逐渐走向联合,逐渐形成了以李密、翟让领导的瓦岗军,杜伏威领导的江淮起义军,窦建德领导的河北起义军三支主要力量。在农民起义的冲击下,隋炀帝杨广的统治已岌岌可危,处在风雨飘摇之中。
在农民起义风起云涌的同时,隋朝内部也分崩离析。李渊目睹动荡不安的天下局势,从中看到了举兵起事的时机。
公元617年2月,马邑人刘武周起兵,杀太守王仁恭,自称天子,国号定阳。李渊遂以讨伐刘武周为名,积极募兵。李渊以维护隋朝统治者的身份出现,远近的武装纷纷云集,不几天就有近万人加入李渊直接控制的军队。
李渊的行动,引起忠于隋炀帝的副留守王威和高君雅的怀疑。公元617年一天的夜里,李渊命李世民在晋阳宫城外埋下伏兵。第二天早晨,李渊和王威、高君雅议事。三个人正在闲谈之际,这时候晋阳(今山西太原)令刘文静领开阳府的司马刘政会到庭中,说有密状给李渊。李渊便让他交上来,但刘政会说什么也不肯交,只说要告的是副留守,只有李渊自己才能看。
李渊假装吃惊地说:“怎么会有这种事?”看后便对大家说:“王威、高君雅要勾结突厥军队入侵。”于是命人逮捕了他们二人。第二天,果然有几万突厥军围攻太原,人们都信以为真,李渊趁机将王威和高君雅二人处死。
公元617年7月,李渊率军上万,正式起兵反隋,传檄诸郡称“义兵”,以维护隋朝社会安定。李渊在太原起兵之后,便以进军关中拿下长安为最终目标。西进的第一个障碍是西河郡。李建成和李世民兄弟攻打西河郡仅用了九天便得胜而归,使得李渊喜出望外。
然后,李渊建立了自己的军事机构:设置大将军府,自称大将军。长子李建成为陇西公、左领军大都督,统领左三军。李世民为敦煌公、右领军大都督,统领右三军。裴寂和刘文静为长史司马。
李渊第二战是决战霍邑。霍邑的西北有个贾胡堡,是霍邑的门户,但守卫霍邑的宋老生却没有派兵把守,李渊由此断定宋老生是个无能之辈。于是他派两个儿子领几十名骑兵近城观察,自己将部队分成十几队,从城东南到西南,摆出一副攻城的架势。宋老生果然中计,以为李渊要攻城,便领兵三万出战。李渊假装领兵后退,让李建成和李世民领兵抢占了东门和南门,切断了宋老生的退路。在交战中李渊又散布宋老生已经战死的谣言,动摇隋军军心。隋军大败,全军覆没。李渊随即顺利占领了霍邑。
之后,李渊又攻打河东,但是没有攻下。李渊便听从了李世民直接入关中的建议,分兵攻打长安。在招降长安失败后,李渊下令攻城,占领之后又下令禁止掳掠百姓,受到百姓们夹道欢迎。公元617年11月,李渊拥立隋代王杨侑为帝,即隋恭帝,改元义宁,尊在江都的隋炀帝为太上皇,自封为大丞相、唐王,以武德殿为丞相府,李世民为秦王。这实际上是李渊日后称帝的一个过渡。
到公元618年5月,隋炀帝杨广的右屯卫将军宇文化及在江都兵变,勒死了隋炀帝杨广。然后立秦王杨浩为帝,自己做大丞相。随后宇文化及领兵十万北上,但被李密打败,宇文化及败走魏县,毒死杨浩,自己称帝,建立郑国。第二年,过了皇帝瘾的宇文化及在聊城被窦建德杀死。隋炀帝杨广一死,李渊便不再需要隋恭帝这个傀儡了。公元618年,李渊逼杨侑禅位,称帝建立唐朝,改年号为武德,定都长安。