La brigade lettone SS, qui a été transformée en division SS, faisait partie de ceux qui se battaient avant que le dégel printanier ne ralentisse les attaques. Le 22 juin, le troisième anniversaire de l'invasion allemande a été choisi comme date de début de l'opération "Bagration". L'attaque massive soviétique a été catastrophique pour les armées allemandes qui se sont repliées avant l'assaut. À la mi-juillet 1944, avant que l'armée soviétique ne franchisse à nouveau la frontière orientale d'avant-guerre de la Lettonie, les armées soviétiques ont continué vers l'ouest, laissant suffisamment de troupes pour bloquer les forces allemandes restantes jusqu'à ce qu'elles attaquent le 11 septembre comme diversion pour une attaque en Estonie. Le 9 octobre, Riga était à portée d'artillerie de l'Armée rouge. Les troupes allemandes, y compris la division sous le nom de code "Donner" (Thunder), se retirent de Riga, détruisant les ponts au fur et à mesure. Les batailles étaient assez sanglantes mais le , les Soviétiques avaient repris Riga. À la mi-octobre, l'armée allemande, qui comprenait en partie la « Légion lettone », a été assiégée à Courlande, dans la « poche de Courlande ».