Le 22 décembre, Hoche, 30.000h, réunit toutes ses troupes et décide de passer à une offensive massive entre Reichshoffen et Froeschwiller, là où sont positionnées les troupes autrichiennes du général Hotze (& Brunswick &/ou Würmser ?) 20.000h.
En pleine tempête de neige, Hoche donne ses derniers ordres quand un boulet tranche en deux l’arbre sous lequel il se tient. Impassible, il continue son discours. Un deuxième boulet tue son cheval et le fait tomber : « Ces messieurs voudraient sans doute me faire servir dans l’infanterie ! ».
Le brouillard succède à la neige, ce qui complique la tâche des troupes révolutionnaires dans l’assaut des redoutes ennemies à triple étage. 20 pièces d’artillerie crachent le feu et répandent le sang dans les rangs des lignards. Pour soutenir le moral des jeunes troupes, Hoche enfourche son cheval et sillonne les avants des bataillons en hurlant : « Allons camarades, les canons à six cents livres la pièce ! ». Les grenadiers reprennent alors leur marche en avant en clamant : « Adjugé ! Général… À nous les canons ! ». Les redoutes autrichiennes sont emportées à la baïonnette.
Ceci va coûter très cher au trésor de l’armée, car Hoche tient ses promesses : le 3e hussards reçu 3 000 livres pour 6 pièces ; le 14e dragons, 2 400 pour 4 pièces ; le 2e bataillon du 55e de ligne également 2 400 pour 4 pièces ; et le 4e bataillon du Bas-Rhin également 2 400 pour 4 pièces ; soit 18 pièces prises à l’ennemi.
Sidéré par l’ampleur de la victoire les commissaires écrivirent au Comité : « Il serait trop long de vous détailler les prodiges de valeur de nos braves soldats. »
Les Autrichiens sont obligés de lâcher leur position sur la Moder. Il s’agit donc de ne pas relâcher l’étreinte. Il paraît évident sur place comme à Paris qu’il faut regrouper temporairement les armées du Rhin et de Moselle présentes en Basse Alsace. La chose sera faite trois jours plus tard, le 25 décembre, à Soultz-sous-Forêts où Hoche obtient le commandement provisoire de l'armée de Rhin et Moselle.
Le 27 décembre, Hoche met les armées alliés en déroute au Geisberg, près de Wissembourg, ce qui dégage la route de Landau. La ville est libérée le 31 décembre 1793.
Pertes "françaises" : 3.000h, pertes "germaines" : 1300h