李世民高兴地说:“您真说到我心里去了。”李世民回到家里,想想刘文静的话,越想越觉得有道理。但是要说服他父亲,倒是个难题。正好在这个时候,太原北面的突厥(我国古代北方民族之一)可汗进攻马邑。李渊派兵抵抗,连接打败仗。李渊怕这件事给隋炀帝知道了,要追究他的责任,急得不知道该怎么办。
李世民抓住这个机会,就找李渊劝他起兵反隋。李渊一听,吓得要命,说:“你怎么说出这种没上没下的话来。要是我去报官,准会把你抓起来。”李世民并不害怕,说:“父亲要告就去告吧,儿才不怕死呢。”李渊当然不会真的去告发,只是叮嘱他以后别说这样的话。
第二天,李世民又找李渊说:“父亲受皇上的委派,到这里讨伐反叛的人。可是眼看造反的人越来越多,您能讨伐得了?再说,皇上猜忌心很重,就算您立了功,您的处境更加危险。只有照我昨天说的办,才是唯一的出路。”李渊犹豫了许多时候,才长叹一口气说:“昨天夜里,我想想你说的话,也有道理。”
“我也拿不定主意。从现在起,是家破人亡,还是能化家为国,就凭你啦!”李渊把刘文静从晋阳牢监里放了出来。刘文静帮助李世民,分头招兵买马。李渊又派人把正在河东打仗的另两个儿子李建成和李元吉召了回来。太原的两个副留守看到李渊父子的举动反常,想出来阻挠。李渊借口他们勾结突厥,把他们抓起来杀了。
李渊又听从刘文静的计策,派人备了一份厚礼,到突厥可汗那里讲和,约他一起反隋。突厥可汗觉得这样做对他们有好处,就答应帮助李渊。李渊稳住突厥这一头,就正式起兵反隋。李渊自称大将军,派李建成和李世民分别做左右领军大都督、刘文静做司马,又把兵士都称为“义士”。
他们带领三万人马离开晋阳,向长安进军。一路上继续招募人马,并且学农民起义军的做法,打开官仓发粮给贫民。这样一来,应募的百姓就越来越多了。经过数年奋战,李唐具有天下大部分土地,李渊即皇帝位于长安,国号唐,建元武德,定都长安,是为唐高祖。李渊以李世民为尚书令。
不久,又立李建成为皇太子,封李世民为秦王,李元吉为齐王。李渊经常派遣儿子李世民、李建成、李元吉出征,逐步消灭各地割据势力。武德元年(618年)农历六月,李世民攻打据有今甘肃兰州等地的薛举、薛仁果父子,农历九月薛举战死,农历十一月俘杀薛仁果,平定了西北广大地区。