李渊占领长安的同时,各地起义军也不断发展壮大。除了瓦岗军之外,主要的还有窦建德领导的河北起义军和杜伏威领导的江淮起义军,不断在各地打击隋军。残暴荒淫的隋炀帝自己知道末日来到,索性躲到江都,每天和皇后、妃子喝酒作乐,醉得昏昏沉沉。
他不愿听到失败的消息,但是心里到底发慌,对萧皇后说:“听说外面有不少人想算计我,且别管他,还是快快活活喝酒吧。”
有一次,他拿起一面镜子,呆呆地照了半晌,说:“好头颅,不知道谁来砍它呢!”
隋炀帝担心的日子终于到来了。他身边的一批禁卫军兵士,多数是关中地区的人。他们眼看跟着隋炀帝没有生路,都想开小差回家。将军宇文化及利用兵士想回家的心理,发动兵变。宇文化及带领兵士,攻进行宫,派人把隋炀帝监视起来。
隋炀帝对监视的官员说:“我犯的什么罪?”
官员说:“你发动战争,穷奢极侈;相信奸邪,拒绝忠告;使男子死在战场,妇女儿童走上绝路,百姓流离失所,你还说没罪吗?”
隋炀帝说:“我确实对不起百姓,但是你们这些人也跟着我享受富贵,没对不起你们。今天这样做,是谁带的头?”
官员说:“全国的人都恨透你这昏君,哪儿是一个人带的头!”
隋炀帝这才无话可说,他自己解下巾带交给官员。这个作恶多端的统治者就这样被勒死了。统治中国三十八年的隋王朝宣告灭亡。
隋炀帝死后,东都洛阳还在隋朝的东都留守杨侗(炀帝的孙子)和大臣王世充手里。王世充把杨侗立为皇帝,继续打着隋朝的旗号,对抗起义军。
东都周围本来是瓦岗起义军活动的地区,李密曾经多次打败隋军,但是因为李密骄傲自满,跟将领们互相猜忌,在跟北上的宇文化及人马打了一仗之后,力量渐渐削弱。王世充看准李密的弱点,发起一次袭击,打垮了李密大军。李密带着残兵败将,逃到长安去投靠唐朝了。
王世充赶跑了李密,自以为力量强大,把杨侗废了,自立为帝,国号叫郑。
这时候,唐军已经削平了西北的几个豪强割据势力,稳定了后方。公元620年,唐高祖派李世民统率大军进攻东都。李世民大军一出关,河南许多州县纷纷投降,很快就把东都包围起来。
李世民不但善于打仗,而且善于用人。他从原瓦岗军和别的割据势力的降将中,收留了一批人,象有名的秦叔宝、程咬金、尉迟敬德(尉迟是姓,尉音yù),都成了他的得力助手。
有一次,李世民亲自带了五百骑兵在阵地上巡视,被王世充发现,发动一万多步兵骑兵突然围上来,郑军大将单雄信冲到李世民身边,用长矛直刺过来。李世民后面的尉迟敬德飞马赶上,大喝一声,把单雄信刺下马来。尉迟敬德保护李世民突出包围,两个人又带着骑兵转过身在郑军阵地来回冲杀,吓得郑兵不敢阻挡。接着,后面的唐军源源不绝地上来,把郑军打得一败涂地。
从这年秋天一直到第二年春天,唐军把东都越围越紧,日夜不停地攻城。王世充在城里严密防守,不断用石炮、弩箭袭击城外唐军。日子一久,唐军将士也感到疲劳,有人向李世民建议暂时停止进攻,回长安休整后再打。
李世民说:“现在四周各州都已经投降,洛阳成了一座孤城,迟早可以攻下,怎么能半途停下来。”接着就向将士发出命令说:“不攻下东都,决不退兵。”
王世充被逼得走投无路,只好派人偷偷地出城,赶到河北向窦建德求救。
窦建德领导的起义军是河北一支强大的力量。王世充自称郑帝以后,窦建德也自称皇帝,国号叫夏,攻占了唐军许多土地。他接到王世充的求救信,一面带领三十万人马,水陆并进,援救东都;一面派出使者给李世民送去一封信,要李世民退回关中。
唐军许多将领都被夏军的强大兵力吓得害怕了,主张暂时离开东都。但是有人认为王世充兵力还很强,缺少的是粮食。如果让窦建德跟王世充两军会合,用河北的粮食接济东都,那末胜利就没有希望了。所以,一定要把南下的窦建德大军堵住。
李世民接受了这个意见,把李元吉留在东都继续围攻王世充,自己带三千多精兵北上,扼守武牢关(就是虎牢关,在今河南荣阳汜水镇)。
窦建德大军到了武牢关,被唐兵拦住,夏军发起几次进攻都没成功,李世民却派轻骑兵抄小路,把夏军的粮道切断了。
窦建德认为自己兵力强大,不怕攻不下武牢关。他拒绝了他部下和妻子的劝阻,命令全军出动,摆开阵势,鼓噪着冲了过来。
李世民上高地观察了夏军的阵势,说:“窦建德没有遇到过强大的敌手,从他的阵势,就可以看出他骄傲轻敌。我们只要按兵不动,等待他们兵士疲劳的时候,一举出击,一定能打败他们。”
夏军兵士摆开阵势,准备交锋。但是,从早上到中午,还没有见唐军出来交战,兵士们又疲劳,又饥饿,有的坐在地上,有的到河滩上舀水喝。李世民一见时机已到,就命令将士渡过汜水,直冲窦建德大营。
窦建德正和他的将帅在大营聚会,听到唐军骑兵突然冲来,赶忙指挥骑兵应战。双方发生了激战,阵地上尘土飞扬,箭如雨落。
李世民乘夏军不防备,带领一支队伍猛插到夏军阵后,举起了唐军的大旗。夏军将士回头一看,以为唐军已经占领大营,没有心思再战,争先恐后地逃散。窦建德在混战中受了伤,被唐军俘虏了。
窦建德失败后,李世民再回兵围攻东都。王世充还想突围,将土们说:“现在夏王已经失败,我们就是突围出去,也没有用。”王世充眼看大势已去,只好向唐军投降了。
窦建德被送到长安,不久就被杀害,他的部将刘黑闼(音tà)率领河北夏军,继续和唐军作战。唐军又花了三年时间,才把河北地区稳定下来。公元623年,唐统一中国的战争基本结束。但是,唐朝皇室内部的矛盾却尖锐起来。