En septembre 1944, les forces alliées avaient atteint la ligne allant de Luxembourg à Anvers. Adolf Hitler a alors choisi de lancer une dernière contre-offensive dans les Ardennes. Il devait attendre que la météo soit mauvaise, avec des nuages et du brouillard, pour éviter que les Alliés ne puissent tirer parti de leurs forces aériennes plus puissantes. La bataille a donc finalement été lancée le 16 décembre 1944. La 6e division Panzer SS, la 5e division blindée et la 7e armée du commandant Brandenberger ont alors marché sur les Ardennes.
Avec cette opération, qui avait pour nom de code Wacht am Rhein, Adolf Hitler voulait diviser les troupes alliées grâce à une contre-offensive surprise. Il souhaitait reprendre les ponts traversant la Meuse afin d’avancer jusqu’à Liège pour atteindre ensuite le port d’Anvers. Du côté américain, la surprise a été totale.
Néanmoins, contrairement à l’offensive lancée en mai 1940, la bataille des Ardennes n’a pas connu un succès rapide. En effet, les conditions météorologiques étaient plus mauvaises, les forces aériennes des Alliés étaient bien plus puissantes et les réserves de carburant des Allemands se sont avérées insuffisantes. À partir du 23 décembre, le temps a commencé à s’éclaircir. Les Américains ont alors déployé leur puissance aérienne et lancé une contre-attaque. À la mi-janvier 1945, le manque de carburant a poussé les Allemands à abandonner tout simplement leurs véhicules, portant ainsi un coup fatal aux ambitions d’Adolf Hitler. Le 25 janvier 1945, la bataille prenait fin.
Jamais l’armée américaine n’a essuyé autant de pertes au cours d’une opération : 10 733 soldats américains ont été tués et 42 316 ont été blessés au cours de la bataille des Ardennes. Du côté allemand, on a enregistré 12 652 morts et 38 600 blessés. Près de 2500 civils ont perdu la vie en Belgique, et 500 dans le Grand-Duché de Luxembourg.