Gjennomsnittstemperaturen i juli er +22 °C, med en maksimumstemperatur på +37 °C som skjedde under varmebølgen på den nordlige halvkule 2010. Minimumstemperatur på vinteren ble målt til -35,9 °C i 1883. Årsgjennomsnittstemperaturen er +5,4 °C. Elven Neva som renner gjennom byen fryser inn som regel i november-desember og tiner i april. Fra desember til mars er det i gjennomsnitt 123 dager med snø, som i gjennomsnitt når en snødybde på 24 cm i februar. Den frostfrie perioden i byen varer i gjennomsnitt i 135 dager.