Dal 1941 alla fine del 1943, la popolazione è scesa da 3 milioni a meno di , per via delle persone che sono morte in battaglia o di fame durante l'assedio di Leningrado oppure che sono state evacuate.
Dopo l'assedio, alcuni degli sfollati hanno fatto ritorno in città, ma il maggior afflusso si è dovuto alla migrazione da altre parti dell'Unione Sovietica.
La città ha assorbito circa 3 milioni di persone nel 1950 ed è cresciuta a oltre 5 milioni nel 1980.
Dal 1991 al 2006 la popolazione della città è scesa a 4,6 milioni, mentre la popolazione suburbana è aumentata a causa della privatizzazione delle terre.