Obrona przeciwlotnicza Leningradu składała się z 91 baterii przeciwlotniczych Floty Bałtyckiej (ogólna liczba dział 352), nie licząc okrętowych. Ponadto w Leningradzie znajdował się II Korpus Artylerii Przeciwlotniczej. Nieba pilnowały V Korpus Myśliwski oraz siły powietrzne Floty Bałtyckiej. W październiku dodatkowo przerzucono do miasta 44. i 191 Dywizję Strzelecką oraz 6 Brygadę Piechoty Morskiej i 3. Samodzielną Brygadę Morską. Na zachód od Leningradu znajdował się zalew, w czasie wojny zaminowany przy użyciu min kontaktowych; akwen był w zasięgu ostrzału twierdzy morskiej Kronsztad, brzegowych rejonów umocnionych, fortów i baterii. W Kronsztadzie i Leningradzie skupiła się cała Flota Bałtycka (2 pancerniki, 2 krążowniki, 13 niszczycieli, 12 korwet, 42 okręty podwodne, 62 trałowce, 38 kutrów torpedowych, 60 kutrów typu MO, 3 kutry pancerne oraz stawiacze min i sieci oraz kanonierki). Na wschodzie znajduje się jezioro Ładoga, którego broniła Flotylla Ładoska w sile 66 jednostek.