La bataille de Hulao ( chinois :虎牢之戰) ou bataille de Sishui (汜水之戰, Wade-Giles : Ssŭ Shui ), le 28 mai 621 était la bataille principale et finale de la campagne Luoyang-Hulao entre le rival Tang , Zheng et Xia lors de la transition de Sui à Tang. Ce fut une victoire décisive pour le prince Tang Li Shimin, grâce à laquelle il put soumettre deux seigneurs de guerre rivaux, Dou Jiande qui dirigeait le régime Xia à Hebei, et Wang Shichong, l'empereur autoproclamé de la dynastie Zheng. La bataille a eu lieu au col stratégiquement important de Hulao, à l'est de Luoyang.
Après des victoires à l'ouest qui avaient établi ses lettres de créance en tant que général, en août 620, Li Shimin marcha contre Wang Shichong. Les troupes Tang ont bloqué Wang dans sa capitale de Luoyang, tout en s'emparant du reste de la province du Henan. Après avoir échoué dans ses efforts pour percer le siège des Tang et souffrant de privations toujours plus grandes, Wang sollicita l'aide de Dou Jiande. En avril 621, Dou Jiande dirigea une armée de 100 000 à 120 000 hommes à l'ouest pour affronter les Tang. Les généraux de Li Shimin l'ont exhorté à se retirer vers l'ouest et à protéger le territoire central des Tang au Shanxi, mais cela reviendrait à abandonner les plaines du nord-est, à l'époque le cœur de la Chine, à Dou. Par conséquent, Li Shimin a pris un pari en menant une petite force à l'est pour occuper le col stratégique de Hulao, tandis que le gros de son armée a été laissé derrière pour continuer le siège de Luoyang. Installés dans des positions défensives favorables, les Tang ont réussi à retarder l'avance Xia. Grande armée hétérogène, les Xia manquaient de flexibilité pour déborder la position de Li Shimin ou abandonner la campagne de Luoyang et attaquer le cœur exposé des Tang au Shanxi. En conséquence, le bras de fer entre les deux armées s'est poursuivi pendant plusieurs semaines.
Enfin, lorsqu'il jugea la situation mûre, Li Shimin feignit de détacher une partie de ses forces vers le nord pour inciter une attaque. Lorsque Dou a pris l'appât et avancé vers les positions Tang en ordre de bataille, Li Shimin a retenu ses propres troupes pendant plusieurs heures, jusqu'à ce que les troupes de Dou Jiande soient épuisées d'avoir dû attendre en formation sous le soleil toute la matinée. Une fois que des signes de désordre ont commencé à apparaître parmi eux, Li Shimin a attaqué, brisant l'armée adverse et capturant Dou Jiande. Par la suite, Wang Shichong, laissé sans autre choix, a rendu Luoyang. Ses états et ceux de Dou Jiande ont été absorbés par les Tang. Dou Jiande a ensuite été exécuté, ce qui a conduit certains de ses partisans, dirigés par Liu Heita, à soulever une rébellion infructueuse contre les Tang. Hulao a marqué le tournant décisif dans les guerres civiles qui ont suivi l'effondrement de la dynastie Sui, après quoi la victoire éventuelle des Tang n'a jamais été mise en doute.