李渊的起义军誓师完毕,向各地传发檄文 ,声称要尊代王杨侑 为帝,然后便浩浩荡荡地出发了。大军走到半路,忽然探马来报,说隋将宋老生和屈突通奉杨侑之命分兵抵抗义军,屈突通留驻河东,宋老生已经领兵到了霍邑。李渊这边要尊立杨侑为新君,杨侑那边却派兵抗击李渊,真是剃头挑子一头热 !
义军走到距霍邑大约五十里的地方时,突然下起大雨,只好就地驻扎。偏偏大雨连日不停,眼看军粮就要吃光了,李渊心里非常着急,立刻派府佐沈叔安回太原运粮。就在这时,有人呈上李密的檄文,李渊看完之后失声说:“李密也反了?”
李世民说:“孩儿听说李密已经攻取了河洛,瓦岗寨草寇翟让等奉他为主,李密自称魏公,现在有数十万人马,声势浩大。我们不如暂时与他结盟,免去后顾之忧。”李渊点头称是,于是派人送信给李密。
李密很快就回信了,信中说他要自封为盟主,和李渊共结同盟。李渊又召来李世民,对他说:“李密也太狂妄自大了。只是我们正在征战,不宜与他结仇,不如假意顺从,让他志得意满,为我们挡住河洛方面的隋兵,我们正好可以专心西征,坐收渔翁之利 。”
李世民大喜过望:“如此一来,我们就没有后顾之忧了!父亲此计真是太妙了。”于是李渊再派人送信给李密。
李密看到回信,果然得意地向部下炫耀。
过了两三天,沈叔安押着粮饷赶到,天也放晴了。李渊整顿兵马来到霍邑城下,攻克了霍邑城,城中官兵全部投降。李渊一面张榜安民,一面按功劳封赏部下。义军声威大震,一路势如破竹 ,各地守将纷纷投降。
义军很快攻到河东。河东有屈突通重兵把守,是一块难啃的骨头。李渊召集众将商议,最终决定兵分两路,偏军 攻打河东,主力部队绕道直取长安。在路上,许多隋将前来投降,长安周围的许多县官也都送来大量财物。李渊命令长子李建成和司马刘文静屯兵永丰仓,守住潼关并牵制河东,派次子李世民率领刘弘基等人镇守渭北,自己则住在长春宫。
李渊封李神通为光禄大夫,封段纶为金紫光禄大夫,又写信慰劳那些投降的起义军首领,各封了官职,命令他们仍旧留在原地,听候李世民调遣。
李世民率领大军西进,沿途的起义军纷纷归顺他。抵达泾阳时,李世民的人马已经达到了九万多。在投奔义军的这些人当中,值得一提的是隰城尉 房玄龄。李世民和他一见如故,两个人谈论起军事时都有相见恨晚的感觉。
接着,李世民和李渊在长安会师,准备尊称隋炀帝为太上皇,拥立杨侑为新皇帝,希望能够借此减少隋朝皇室的戒心。
京兆内史卫文升等人辅佐杨侑驻守长安城。卫文升已经年迈,听说李渊的义军兵临城下,吓得一病不起。左翊卫将军阴世师坚守城池,还斥退了李渊派去劝降的说客。
李渊下令将士攻城,并命令众官兵入城之后不得冒犯隋氏宗庙及代王宫室,违令者灭其三族。弓箭、石块像雨点一样从城上落下,义军士兵前仆后继,连日不退,终于攻进了长安城,活捉了阴世师等守将。卫文升听说长安城沦陷,当场就被吓死。杨侑在东宫吓成一团,宫人们四散而逃,只有伴读姚思廉留下保护杨侑。
义军闯进大殿,姚思廉呵斥他们说:“唐公举义兵到这里,为的是匡扶帝室,你们怎能如此无礼?”言语间充满了胆气。义军听了他的话,都不敢轻举妄动 。
李渊按照臣子的礼仪拜见杨侑,请杨侑迁居大兴殿后厅。当时杨侑年仅十三岁,能有什么办法?如今见了这种阵势,吓得抖个不停,姚思廉只好扶着哭哭啼啼的杨侑离开了。
李渊退居长乐宫,和百姓约法十二条,革除隋朝所有的暴政,释放了大多数囚犯。