W początku września 1939 miasto stało się ośrodkiem obrony 16 DP. 4 września 1939 do miasta wkroczyły wojska niemieckie, a władze miejskie przekazały w ratuszu klucze nowym władzom okupacyjnym. W październiku i listopadzie 1939 miały miejsce liczne aresztowania i egzekucje przedstawicieli polskiej inteligencji oraz Żydów. W ramach III Rzeszy miasto włączono do rejencji kwidzyńskiej Okręgu Rzeszy Gdańsk-Prusy Zachodnie. W czasie ofensywy zimowej Armii Czerwonej w 1945 miasto na rozkaz dowódcy Grupy Armii „Wisła” Heinricha Himmlera zostało przekształcone w twierdzę, której załoga liczyła 15 tys. żołnierzy. 26 stycznia 1945 roku 65 Armia gen. Pawła Batowa wyszła na przedpola miasta i rozpoczęła walki o przyczółki nad Wisłą a 37 dywizja piechoty gwardii pod dowództwem gen. Sabira Rachimowa przystąpiła do oblężenia miasta. 10 lutego rozpoczęła się bitwa o miasto. Dowództwo nad całością oddziałów radzieckich przejął gen. Gieorgij Anisimow. W ciągu kilku ciężkich dni walk oddziały 37 dywizji piechoty dotarły na południowo-wschodnie przedmieścia Grudziądza. 142 dywizja piechoty wyparła 18 lutego Niemców znad rzeki i zamknęła całkowicie okrążenie Grudziądza. Od 22 lutego do 2 marca trwały ciężkie walki o południową część miasta i odcięcie Niemców od rzeki. Po zrealizowaniu tego planu przystąpiono do generalnego szturmu. 6 marca niemiecka załoga miasta skapitulowała. 5000 niemieckich żołnierzy dostało się do niewoli. W toku walk zabudowa miasta została zniszczona w ponad 60%.