大業十三年(617年),李淵派人給瓦崗寨送信,約定同期舉事,共取天下。然而,大軍剛行至中途,隋朝就派大將宋老生率三萬兵馬趕來彈壓。宋老生凶悍無比,李淵只能琢磨用巧計破敵。
於是,他讓倆兒子李建成、李世民各率騎兵500人,自己統領步兵2000人,翻過山口,到達宋老生駐紮的霍邑城外。3000人打三萬人,怎麼打?李淵有辦法。他將全部騎兵化整為零,每組20人,將霍邑城團團圍定,又讓倆兒子各帶20名騎兵在城門附近埋伏,2000名步兵則排成方隊,遠遠地站著,衝著霍邑城嗚嗷喊叫。
宋老生發現李淵的人馬在後方出現,大吃一驚,趕緊出門迎敵。霍邑城的南門、東門同時打開,三萬隋軍向著李淵的2000人衝了過去。李淵絲毫不猶豫,掉頭就走。隋軍緊追不放。正追著,忽聽後面喊聲震天,原來是李建成帶領20個騎兵,不由分說搶了南門;李世民帶了20個騎兵,趁這機會搶了東門。
三萬人馬登時大怒:總共20個人也敢抄後路,真是太不像話了!於是隋軍掉頭向城門方向殺去。不想李淵也趁這機會尾隨其後追殺而來。隋軍亂了,李淵以3000人成功地將對方三萬人馬團團圍困,這激起了宋老生部將的凶性。只聽殺聲震天,無數雙腳踏起的塵埃遮蔽了天空,震動得霍邑城搖搖欲墜。
宋老生正指揮若定,忽見李淵跳起來,站在馬背上,手裡舉著一顆人頭,大聲喊叫道:宋老生死了!他手下的2000步兵也同聲吶喊:宋老生死了,大家殺啊! 宋老生的鼻子差一點氣歪,可是2000人的齊聲吼叫讓三萬隋軍真的以為主帥死了,他們頓時慌了,向著四面八方哭喊著逃命,被李淵的部隊砍得滿地人頭滾滾。宋老生自己也被一個小兵抓住,幾刀殺掉。那小兵捧著人頭,飛跑到李淵面前報功。不想,李淵接過人頭,用力往地上一摔,然後放聲號啕。他一邊大哭,一邊罵:宋老生,你這個王八蛋,我李淵清白一輩子,從來不傷害對手,可今天讓你破了例,你為什麼這麼難為我?難道我李淵勤政為民、愛護百姓有錯嗎?非要逼著我殺人盈野、血流成河嗎?宋老生啊,你為什麼這麼逼我,為什麼啊……就在李淵的捶胸頓足、放聲痛哭時,只聽霍邑城門發出了嘎吱的聲響,城門開了,霍邑請降。李建成和李世民對視了一眼,都不由得打心眼裡佩服。不愧是當爹的,兵不血刃,哭開城門。
以哭服人,哭到你自開城門投降為止。就這樣,李淵輕鬆地渡過黃河,抵達長安城下。
此時隋煬帝正巡幸江都,長安城裡主持軍務的是代王。代王剛剛九歲,見李淵大軍殺到,緊閉城門,拒不出戰。於是李淵對將士們說:我是來保衛皇上的,我不願意看到戰火突起,不願意看到有一個百姓因為我死亡,倘若出了這樣的事,是殺是砍是剮是剁,我隨你們處置。
說完這句話,李淵就回到軍帳裡,堅決不向外邊偷看一眼。外邊的軍士則在李建成、李世民的帶領下,將長安城附近的竹子樹木統統砍光,用來製造攻城的器械。等李淵終於走出軍帳的時候,三軍將士已經登城而入,攻下了長安城。李淵痛心不已,仰天大慟:「陷孤不義,皆卿而等!」
李淵進城後,跪在代王面前大哭,哭罷,宣佈廢黜隋煬帝,擁立代王為皇帝。代王也不傻,懇求把天下讓給李淵。李淵斷然拒絕,說:你把我當成啥人啦!代王再懇求,李淵再拒絕。代王甚至最後跪在地上磕頭懇求,李淵說:我李淵豈是那種人?外邊的受禪檯子搭好了沒有?搭好了那就趕緊吧……
很快,一把鼻涕一把淚,李淵不情不願地從代王手裡接過了天下。