李淵佔領長安的同時,各地起義軍也不斷發展壯大。除了瓦崗軍之外,主要的還有竇建德領導的河北起義軍和杜伏威領導的江淮起義軍,不斷在各地打擊隋軍。殘暴荒淫的隋煬帝自己知道末日來到,索性躲到江都,每天和皇后、妃子喝酒作樂,醉得昏昏沉沉。
他不願聽到失敗的消息,但是心裡到底發慌,對蕭皇后說:「聽說外面有不少人想算計我,且別管他,還是快快活活喝酒吧。」
有一次,他拿起一面鏡子,呆呆地照了半晌,說:「好頭顱,不知道誰來砍它呢!」
隋煬帝擔心的日子終於到來了。他身邊的一批禁衛軍兵士,多數是關中地區的人。他們眼看跟著隋煬帝沒有生路,都想開小差回家。將軍宇文化及利用兵士想回家的心理,發動兵變。宇文化及帶領兵士,攻進行宮,派人把隋煬帝監視起來。
隋煬帝對監視的官員說:「我犯的什麼罪?」
官員說:「你發動戰爭,窮奢極侈;相信奸邪,拒絕忠告;使男子死在戰場,婦女兒童走上絕路,百姓流離失所,你還說沒罪嗎?」
隋煬帝說:「我確實對不起百姓,但是你們這些人也跟著我享受富貴,沒對不起你們。今天這樣做,是誰帶的頭?」
李世民官員說:「全國的人都恨透你這昏君,哪兒是一個人帶的頭!」
隋煬帝這才無話可說,他自己解下巾帶交給官員。這個作惡多端的統治者就這樣被勒死了。統治中國三十八年的隋王朝宣告滅亡。
隋煬帝死後,東都洛陽還在隋朝的東都留守楊侗(煬帝的孫子)和大臣王世充手裡。王世充把楊侗立為皇帝,繼續打著隋朝的旗號,對抗起義軍。
東都周圍本來是瓦崗起義軍活動的地區,李密曾經多次打敗隋軍,但是因為李密驕傲自滿,跟將領們互相猜忌,在跟北上的宇文化及人馬打了一仗之後,力量漸漸削弱。王世充看準李密的弱點,發起一次襲擊,打垮了李密大軍。李密帶著殘兵敗將,逃到長安投靠唐朝。
王世充趕跑了李密,自以為力量強大,把楊侗廢了,自立為帝,國號叫鄭。
這時候,唐軍已經削平了西北的幾個豪強割據勢力,穩定了後方。公元620年,唐高祖派李世民統率大軍進攻東都。李世民大軍一出關,河南許多州縣紛紛投降,很快就把東都包圍起來。
李世民不但善於打仗,而且善於用人。他從原瓦崗軍和別的割據勢力的降將中,收留了一批人。像有名的秦叔寶、程咬金、尉遲敬德(尉遲是姓,尉音yu,都成了他的得力助手。有一次,李世民親自帶了五百騎兵在陣地上巡視,被王世充發現,發動一萬多步兵騎兵突然圍上來,王世充的大將單雄信衝到李世民身邊,用長矛直刺過來。李世民後面的尉遲敬德飛馬趕上,大喝一聲,把單雄信刺下馬來。尉遲敬德保護李世民突出包圍,兩個人又帶著騎兵轉過身在鄭軍陣地來回衝殺,嚇得鄭兵不敢阻擋。接著,後面的唐軍源源不絕地上來,把鄭軍打得一敗塗地。