但王世充屡次派人来催,又命人用重金贿赂窦建德的下属,这些人收了钱财,都在窦建德面前说凌敬的坏话,说凌敬的计策不可行。凌敬再三劝谏窦建德,窦建德不但不听,最后还命人架着凌敬,把凌敬扔了出去。窦建德的妻子也权窦建德该听凌敬的,窦建德斥责说,女人懂什么。下定决心出动全部兵力攻下虎牢关。
五月初二,窦建德率兵倾巢而出,军队连绵二十里,擂鼓前进,进军虎牢关。唐军诸将看到漫山遍野的夏军,都十分惊慌,李世民安慰诸将说,我和各位相约,一过正午,肯定能打败他们!
大唐精骑
窦建德排兵布阵,李世民坚守不出。两军从早晨相持到中午,窦建德的士卒们饥饿疲惫,都坐了下来,又争着喝水,迟疑着想撤退。李世民看准时机,立刻命令宇文士及带三百骑兵经过窦建德军阵西边向南奔驰,告诫他:“敌人如果不动,你就带兵返回,如果动了,就领兵东进。”
宇文士及到窦建德阵前,敌阵果然动了,李世民说:“可以打了!”李世民率领500玄甲军冲锋在前,其余玄甲军将士跟随在后,直扑敌阵。
唐军疾驶而来之时,窦建德毫无准备,片刻之间,唐军已冲到阵前,窦建德来不及组织抵抗,只好撤到后面的山坡上。
因仰攻窦建德的唐军兵力太少,夏军在度过最初的慌乱后逐渐占据上风。其他唐军也与夏军混战在一起,再拖下去,唐军在兵力占据绝对优势的夏军面前,就可能全军覆没。危机时刻,李世民决定兵行险着。
唐军大获全胜
李世民率领史大奈、程知节、秦叔宝、宇文歆等人将唐军旗帜卷起,迂回到敌军后方,然后突然将旗帜展开,放马狂奔。窦建德的士兵看见唐军旗帜在自己后方飘扬,以为大营已经被唐军占领,人人都无心再战,夏军迅速崩溃(这招韩信当年就用过)。
唐军趁势追杀三十里,窦建德被长枪刺中,狼狈而逃。唐车骑将军白土让、杨武威紧追不舍,窦建德落马,白土让挺枪欲刺,窦建德说:“别杀我,我是夏王,献上我可以使你们得到富贵荣华。”杨武威下马捉住窦建德,献在李世民面前。
窦建德的部下也是死的死、逃的逃,被唐军俘虏的就有五万人,李世民当天就遣散了俘虏,让他们返回家乡。
5月8日,窦建德被押至洛阳城下,王世充急忙爬上城头,看到被五花大绑的窦建德,最后一线希望彻底破灭。5月9日,王世充开城投降。这场战争,李世民以弱胜强、以少胜多,生擒窦建德,逼迫王世充投降,一战而平定了两大枭雄,使唐军的势力迅速从潼关以西扩张到了整个中原地区,奠定了统一天下的基础。