
汜水之战
不久,窦建德于河北一带扩张势力,王世充占据洛阳,逐渐将领地扩展至河南南部地区。武德三年七月,秦王李世民从河东凯旋,奉命讨伐王世充。对此,王世充集结精锐部队,布阵固守洛阳城。
秦王向洛阳攻来,与王世充展开了极其激烈的交战。唐军想要瓦解敌人的守备,进行突然袭击,但因王世充的军队坐拥地利,反而多次被其包围而濒临危险。
洛阳北郊有一座山叫北邙山,秦王率五百骑登上此山,侦察地形,没想到王世充率领步兵、骑兵总共一万兵力,进行突袭,包围了唐军。王世充这一方的勇士以单骑向秦王猛扑过来,在此危急时刻,尉迟敬德及时跃马大呼,横刺敌方勇士落马,趁机护卫秦王杀出重围。
王世充向暂时与其断绝关系的窦建德求救。窦建德也因为担心一旦王世充溃败则自己不得不与唐军直接对抗,答应救援。洛阳还不会沦陷,但是处于王世充统治下的州中,甚至出现了数州乃至十余州一起降唐的情况。鉴于这种状态,王世充逐渐意识到自己在洛阳被孤立了,因而陷入不安。而且,由于唐军包围了洛阳城,城中的粮食已见不足。
此时,窦建德率领大军从洺州出发,途中攻克诸城,来到汜水之东,与西方洛阳的王世充军呼应,摆出威压唐军之势。秦王断然决定迎击,他留下一军围攻洛阳,率领精兵向东前进,布阵于汜水之西,与窦建德军对峙数十日。汜水之地有虎牢关(又名成皋关,自春秋战国时代以来,作为进入洛阳的门户而闻名)的遗迹,自古以来作为要害之地而闻名。此处的的黄土地上到处都是高深的断崖或龟裂,道路通过地势低凹处时,人们就如同行走在夹缝中,无法展望左右。

装饰唐太宗昭陵的名马石刻,昭陵六骏之一,讨伐洛阳时唐太宗的坐骑
秦王看准敌方斗志有些衰退,率领轻骑渡过汜水,奇袭窦建德的本营。窦建德也是身经百战的强者,他鼓舞已处于败势的己方战士,努力进行防御。惨烈的骑马战到处上演,以致尘埃漫天,遮住了人们的视线。秦王率领一队人马冲入敌阵,并从中穿过绕到其背后,高高举起唐军的旗帜。此举发挥了效果,窦建德军全线崩溃,窦建德也最终被唐军抓获。此战役发生在武德四年(621年)五月,称为汜水之战。
王世充看到窦建德的惨败而丧失了斗志,率同族、群臣两千余人,降服于秦王。两人被带到长安,窦建德被处斩,王世充申诉说秦王曾答应饶他全家性命,因而与同族之人被流放到蜀地(四川省)。但是,出发前,王世充被仇人杀害。