Čoskoro po začiatku 2. svetovej vojny bol Leningrad zovretý nepriateľskými frontami. Podľa plánu Barbarossa malo dobytie Leningradu predchádzať dobytie Moskvy. Hitler veril, že pád severného hlavného mesta ZSSR by, nielen priniesol vojenské zisky, ale Rusi by tiež stratili mesto, ktoré je kolískou revolúcie a pre sovietsky štát má osobitý symbolický význam.
Na začiatku bitky o Leningrad vo vojskách Severného (od 23. augusta rozdelená na Karelský a Leningradský front) a Severozápadného frontu a v Baltickej flotile slúžilo 540 tisíc ľudí, päť tisíc zbraní a mínometov, približne 700 tankov, 235 bojových lietadiel a 19 bojových lodí hlavných tried. Nepriateľ mal 810 tisíc vojakov, 5,3 tisíce zbraní a mínometov, 440 tankov a 1 200 bojových lietadiel.
Po prekonaní odporu sovietskych vojsk v pobaltských štátoch nemeckej fašistickej jednotky 10. júla 1941 začali útok priamo na Leningrad.
Napriek hrdinskému odporu sovietskych vojsk nepriateľ do konca júla dosiahol hranice Leningradu a preskupenia sa.
Od 8. augusta nemecké vojská útočili na sovietske armády, ktoré bránili Leningrad z juhu a juhozápadu. Na úkor veľkých strát nepriateľ prelomil obranu sovietskych vojsk a 19. augusta obsadil Novgorod, 20. augusta Čudovo, zablokoval cestu Moskva-Leningrad a železnice, ktoré spájali Leningrad so zemou, 8. septembra mesto na súši odrezal od ostatných oblastí krajiny.
Začala blokáda Leningradu rokov 1941-1944. Situácia mesta bola veľmi obtiažna. Pokiaľ na severe front v niektorých miestach prechádzal vo vzdialenosti 45-50 kilometrov od mesta, na juhu bola predná línia len niekoľko kilometrov od mestských hraníc. Komunikácia s Leningradom bola udržiavaná iba po Ladožské jazero a letecky. Situáciu komplikovala skutočnosť, že od 4. septembra bol Leningrad pod barbarským bombardovaním a systematickými náletmi fašistického letectva.
S veľkým úsilím sa sovietskym jednotkám podarilo zastaviť nepriateľa. Plán nepriateľa obsadiť mesto okamžite zlyhal. Neskôr sa obyvatelia pokúšali blokádu opakovane preraziť, ale Leningrad sa nakoniec dokázal vyslobodiť až v roku 1944.
Hrdinská obrana Leningradu sa stala symbolom odvahy sovietskeho ľudu. Za cenu neuveriteľného utrpenia, hrdinstva a sebaobetovania bránili mesto vojaci i obyvatelia Leningradu. Mnoho sovietskych vojakov prišlo o život v bitke o Leningrad. Nenávratné straty predstavovalo 979 254 ľudí, zranených bolo ďalších 1 947 770 osôb.
Za odvahu a hrdinstvo, ktoré boli preukázané pri obrane mesta, stovky tisíc vojakov prevzali vysoké štátne vyznamenania, 486 vojakov získalo titul Hrdinu Sovietskeho zväzu, osem z nich dvakrát. 22. decembra 1942 bola vytvorená medaila Za obranu Leningradu, ktorú získalo asi 1,5 milióna ľudí.
26. januára 1945 bol samotný Leningrad vyznamenaný Rádom Lenina. Od 1. mája 1945 Leningrad je mesto-hrdina, 8. mája 1965 mesto získalo medailu Zlatá hviezda.