劉永福
は最大の激戦だった。清軍やベトナム人兵士は余り戦いの趨勢に関与せず、3,000人の黒旗軍が主力として戦い、12月14日にフランス軍の攻勢を一旦は撃退した。黒旗軍がクールベ軍の追撃に失敗する中、体勢を立て直したクールベは、大砲による援護を行いながら12月16日にソンタイ川へ二度目の突撃を敢行。同日午後5時、フランス軍外人部隊と海兵部隊の一部がソンタイ川の防衛線を突破して市内に突入、劉永福は残存軍を連れてソンタイ川後方へと撤退した。