虎牢之战(中文:虎牢之战)或汜水之战(汜水之战,韦德-吉尔斯:Ssŭ Shui),621 年 5 月 28 日,是洛阳-虎牢战役的主要和最后战役。隋唐过渡时期的郑、夏政权。这对唐太子李世民来说是决定性的胜利,他借此征服了两个敌对的军阀,即河北夏朝首领窦建德和自称郑朝皇帝的王世充。战斗在洛阳以东具有重要战略意义的虎牢关进行。
620 年 8 月,李世民在西部取得胜利后确立了他的将军资格,向王世充进军。唐军封锁了王在他的首都洛阳,同时占领了河南省的其他地区。攻破唐围未果,处境愈发艰难,王向窦建德求援。 621年4月,窦建德率领10万至12万大军向西对抗唐。李世民的将领劝他向西撤退,保护山西的唐核心领土,但这样做会将当时中国的心脏地带的东北平原交给窦。于是,李世民赌了一把,率领一小股部队向东占领战略要道的虎牢关,而他的大部分军队则被留下继续围攻洛阳。唐人占据有利的防御阵地,成功地阻止了夏军的进攻。一支庞大而异类的军队,夏军缺乏灵活性,既不能包抄李世民的阵地,也不能放弃洛阳战役,进攻暴露在山西的唐人腹地。结果,两军之间的对峙持续了数周。
终于,当他判断形势成熟时,李世民佯装部分兵力北上引战。等窦上钩,列阵向唐阵挺进时,李世民却在自己的部队中憋了几个小时,直到让窦建德的部队在太阳底下整整一个上午都筋疲力尽。当他们之间开始出现混乱迹象时,李世民出击,打破了对方的军队,并俘虏了窦建德。随后,王世冲别无选择,投降了洛阳。他和窦建德的国家都被唐吸收了。窦建德后来被处死,导致刘黑塔率领他的一些追随者起义反唐失败。虎牢标志着隋朝灭亡后内战的决定性转折点,此后唐朝的最终胜利毫无疑问。