Le 6 juin 1944, soit le Jour J (en anglais D-Day), plus de 150 000 soldats alliés sous le commandement du général américain Dwight D. Eisenhower débarquèrent sur les plages de Normandie, ouvrant ainsi le front occidental tant attendu contre les Allemands. La bataille qui s'ensuivit fut sanglante avec environ 4 300 morts britanniques et canadiens ainsi que 6 000 victimes américaines.

L'installation de la tête de pont permit le débarquement de plus de deux millions de soldats alliés en France. En juillet, les forces alliées sortirent des plages de Normandie et forcèrent les Allemands à une retraite générale, qui culmina avec la libération de Paris le 25 août 1944. Des troupes alliées débarquèrent également sur les côtes méditerranéennes de Provence le 15 août 1944. La plus grande partie de la France était libérée à la mi-septembre.

A l'arrivée de l'hiver, les Alliés avaient également libéré la presque totalité de la Belgique ainsi qu'une partie des provinces de l'extrême-sud des Pays-Bas. Les troupes alliées, ayant allongé leurs lignes d'approvisionnement au maximum, furent surprises le 16 décembre 1944 par une attaque allemande dans les Ardennes belges. Cette attaque était une tentative désespérée des Allemands de diviser les forces alliées et de percer une brèche jusqu'à Anvers et la Mer du Nord. Les Alliés — les forces américaines supportant la plus grosse partie de l'assaut — bloquèrent l'avance des troupes allemandes et les forcèrent à une retraite générale. Les Alliés remportèrent ainsi une victoire décisive qui sera connue par la suite sous le nom de la Bataille des Ardennes. Les unités alliées avancèrent rapidement en Allemagne, franchirent le Rhin le 7 mars 1945 puis avancèrent au cœur de l'Allemagne.