李渊的策略是先取长安,以关中为根据地。他依照农民起义军的做法,打开太原官仓,救济贫民,收取人心,并发檄文声讨隋炀帝的罪恶。随后,他就带着三万人马朝长安杀来。
攻占关中的第一个硬仗,是攻打地势险要的霍邑(今山西霍州)。拿下霍邑之后,全军上下士气大振。一路上李渊继续招兵买马,所到之处都打开粮仓救济贫民。老百姓对这支队伍很有好感,加入的人越来越多。到攻打长安时,他的队伍已经成了一支二十多万人的大军。
李渊攻下长安后,取得了号令关中的地位,他立即废除隋朝的苛法暴政,并宣布“约法十二条”,受到百姓的欢迎。
李渊见时机还没有完全成熟,暂时还是遥尊隋炀帝为太上皇,让隋炀帝的孙子杨侑做个傀儡皇帝,即隋恭帝,自己以唐王、大丞相的身份掌握一切军政大权。
在此之前,各地起义军都发展起来了,如李密领导的瓦岗起义军、窦建德领导的河北起义军、杜伏威领导的江淮起义军等,都给隋军以沉重的打击。隋炀帝干脆躲到江都,继续过着花天酒地的生活。