起義大軍往西攻打賈胡堡,隋將宋老生率領(lǐng)精兵兩萬人屯扎在霍邑以抗拒義軍。恰值久雨糧盡,李淵與裴寂議論,暫且回太原,以后再圖謀舉事。李世民說:“本來興起大義是為了挽救蒼生百姓,應(yīng)當(dāng)先攻下咸陽,號(hào)令天下;遇到小小敵軍就退軍,恐怕跟從起義的人將會(huì)一時(shí)解散。回軍守衛(wèi)太原一個(gè)城池,這是為賊打算,拿什么來自我保全!”李淵不采納,催促命令引軍出發(fā)。李世民于是在外大聲嚎泣,哭聲傳到李淵帳中。 [8] 李淵召見他問哭的緣故,李世民對(duì)答說:“現(xiàn)在軍隊(duì)?wèi){借仁義起事,進(jìn)戰(zhàn)則必勝,退還則軍隊(duì)必潰散。眾軍在前面潰散,敵軍在后面乘虛進(jìn)攻,死亡馬上就到面前,因此悲痛??!”李淵這才醒悟而停止回軍。八月一日,雨止,李淵率軍奔赴霍邑。 [9] 李世民怕宋老生不出戰(zhàn),于是率領(lǐng)幾個(gè)騎兵先奔到城下,舉鞭指揮,好像要圍城的樣子,以激怒宋老生。宋老生果然被激怒,開門出兵,背靠城池扎陣。李淵與李建成在城東會(huì)合扎陣,李世民及柴紹在城南扎陣。宋老生指揮軍隊(duì)猛沖,首先直逼李淵,致使李建成墜落馬下,宋老生乘勢(shì)攻擊,李淵與李建成都退軍。李世民從南面率領(lǐng)兩千騎兵沖下高坡,沖斷了宋老生的軍隊(duì),率領(lǐng)軍隊(duì)奮力攻擊,宋軍大敗,都拋棄武器而逃。此時(shí)霍邑的城門已經(jīng)懸掛起來,宋老生拉住繩子想要爬上城,李世民趁勢(shì)斬了他,平定了霍邑。 [10]
到了河?xùn)|,關(guān)中豪杰爭(zhēng)著投奔義軍。李世民請(qǐng)求進(jìn)軍入關(guān),攻取永豐倉來賑濟(jì)窮困,收服群盜來謀取大興城(今陜西省西安市),李淵認(rèn)為很好。李世民以前軍渡過黃河,先平定渭北。三輔的官員、百姓以及豪杰紳士到軍門請(qǐng)求獻(xiàn)身報(bào)效者每天用上千人來計(jì)算,扶老攜幼,布滿在大旗之下。李世民收留英豪以作為備用的官員,遠(yuǎn)近聽說此事的人,都來獻(xiàn)身投效。軍隊(duì)在涇陽駐扎,精銳之兵九萬,擊破胡賊劉鷂子,兼并了他的部隊(duì)。 [11] 留下殷開山、劉弘基屯扎在大興城。李世民率軍親自奔赴司竹,賊酋李仲文、何潘仁、向善志等人都率兵來會(huì)合,屯兵在阿城,獲得兵士十三萬。大興城父老拿牛、酒到軍門的很多,李世民慰勞他們而后送走他們,什么也不接受。軍令嚴(yán)明整肅,秋毫無犯。不久李世民與大軍平定大興城。李淵輔佐國政,任命李世民為唐國內(nèi)史,改封為秦國公,食邑萬戶。恰值薛舉精兵十萬前來逼近渭水之濱,李世民親自率軍攻打,大破其部眾,斬殺一萬多人,攻占敵軍土地一直到隴坻。義寧元年(617年)十二月,李世民再次被任命為右元帥,統(tǒng)兵十萬攻取東都洛陽,未能成功而返回。等到將要回軍時(shí),李世民對(duì)左右的人道:“敵人見我回軍,必定會(huì)跟蹤追擊。”于是設(shè)下三次埋伏以等待追兵。不久,隋將段達(dá)率領(lǐng)一萬多人從后追到,過三王陵時(shí),李世民發(fā)動(dòng)伏兵攻擊,段達(dá)大敗。于是在宜陽、新安設(shè)置熊、谷二州,派人留守而回。隨后,李世民被遷徙改封為趙國公。