随后,经过准备多时的李渊传檄各州、县,宣布正式起兵。李渊管辖内的西河郡隋将得知李渊起兵的消息,依城拒守。李渊只好派儿子李建成、李世民率兵攻打西河,并派太原令温大有参谋军事。西河郡兵微将寡,郡丞高德儒闭门守城。但是李建成仅仅用了9天时间便攻下西河君,杀死了不肯叛乱的高德儒。至此,李渊作为太原留守管辖的五个郡的地盘除了三个郡被刘武周占领外,剩下的太原与西河两军皆归李渊所有。
拿下西河郡后,李渊命令开仓赈饥,招募士兵。并开大将军府,置三军,李渊亲任大将军。以长子李建成为陇西公、左领军大都督,统领左军;次子李世民为炖煌公、右领军大都督,统领右军;小儿子李元吉为姑臧公,统领中军。裴寂为长史,刘文静为司马。
大业十三年(617)七月,李渊率隋军三万在太原誓师,进军关内并正式发布檄文。发布的檄文里,李渊斥责皇帝杨广听信谗言,杀害忠良,穷兵黩武,致使民怨沸腾,“豺狼充于道路”,在檄文里李渊声明自己起兵是要废掉昏君杨广,然后拥立代王杨侑为帝,“尊天子为太上皇,立代王为帝,以安隋室”。而他自己则建大将军府亲任大将军,世子李建成为左领军大都督,李世民为右领军大都督,刘文静任大将军府司马。其实,这仅仅是李渊的一种号召天下的策略而已,因为他清醒地认识到,此时的大隋王朝,是百足之虫、死而不僵。如果自己一开始就打出反对大隋的旗子,那就不明智了。
这时,正在攻打洛阳的李密兵锋正盛,有席卷天下的气势,所以李渊就写信给李密希望结盟共同对付隋军。李密见信后,回复李渊说结盟可以但是要他亲自到河内(今河南沁阳)和他商量结盟的事。李渊见信后说:“密妄自矜大,非折简可致。吾方有事关中,若遽绝之,乃是更生一敌;不如卑辞推奖,以骄其志,使为我塞成皋(虎牢关)之道,缀东都(洛阳)之兵,我得专意西征。俟关中平定,据险养威,徐观鹬蚌之势。以收渔人之功,未为晚也。”于是李渊给李密的信中很卑恭地说:“天生烝民,必有司牧,当今为牧。非子而谁,老夫年逾知命,愿不及此”。李密在接到李渊信后,见李渊如此推崇自己,就放松了对李渊的警惕并和他简单结盟。李渊的大意不仅疏忽了对李渊图天下野心的戒备,而且还实际为李渊造反牵掣了隋军主力。使隋军不能西救关中长安。
七月,誓师过后的李渊命李元吉留守太原,自己亲率3万大军西突厥兵协助下,向关中进发。李渊起兵的消息传到长安后。长安留守的代王杨侑派宋老生率兵三万屯在霍邑(山西霍县),屈突通率大军扼守河东(山西永济),以防备其西进。
李渊率大军循汾水进军,到了贾胡堡,距霍邑五十余里。这时,连日阴雨,军队受阻不能前进,而且军队缺粮。特别是有传言说刘武周联合突厥将进犯太原。这时。裴寂等认为:宋老生、屈突通连兵据险,不易解决;李密表面上答应联合了,但靠不住。突厥贪而无信,唯利是图,联合刘武周进犯是可能的,将士家属都在太原,太原地位很重要,“不如还救根本,更图后举”。李渊同意后下令退兵回太原。
李世民不同意退兵的策略,便苦谏父亲李渊说:“现在正是收获季节,田野到处都是菽谷,何必担心粮食不够?”同时他认为刘武周与突厥“外虽相附,、内实相猜”,刘武周不会舍掉马邑去袭太原。还有李世民认为对面的“宋老生轻躁,一战可擒”。最后他建议父亲只有抓紧时机;照原来方针“先入咸阳,号令天下”,才是正确的决策,并且说如果一点小的挫折便行退兵,必然会造成“众散于前,敌乘于后”的局面,使自己陷于复灭的命运。
李建成也支持李世民的主张,也反对退回太原。考虑再三的李渊随后改变退军决心,追回部队重新围攻霍邑。