Platsen där St Petersburg ligger idag var tidigare svensk och den svenska staden Nyen låg där runt 1600-talet. St Petersburg bildades på ruinerna efter Nyen av Peter den store, den ryske tsaren, i början av 1700-talet. Stadens namn kommer från den kristna aposteln Petrus.
Staden utvecklades snabbt i och med det strategiska läget som Rysslands öppning västerut. Det blev en stad med en blandning av västerländsk och rysk kultur som även blev ett handelscentrum mellan Ryssland och västerlandet där läget vid Östersjön hade stor betydelse för staden.
Den snabba utvecklingen ledde till att St Petersburg fick överta titeln som Rysslands huvudstad från Moskva redan år 1712.
Med undantag för åren 1728-1732, under den ryska revolutionen, var staden landets huvudsäte fram till 1918. Stadens namn ändrades under första världskriget då ryssarna inte ville att deras huvudstad skulle klinga tyskt när man stred mot dem.
Staden hette då istället Petrograd. 4 januari 1924, tre dagar efter den ryska ledaren Lenins död, bytte staden namn Leningrad.
En viktig epok i St Petersburgs historia är när staden, som då hette Leningrad, belägrades under andra världskriget. Det var mellan september 1941 och januari 1944 som staden var belägrad av tyska soldater och över en miljon människor dog.
Det var en sträng kyla under vintern 1941-42 då flera tusen människor om dagen gick bort på grund av svält och kyla.
Staden var avskuren och blockerad och det kom knappt någon import till staden. Den enda vägen in och ut ur staden var över Ladoga-sjön som senare blev känd som ”livets väg”. Händelsen är en av de största belägringarna i historien och är känd som ”de niohundra dagarna”.
Leningrad och flera av dess förorter återuppbyggdes till stor del under efterkrigstiden även fast många av stadens invånare flytt från staden. Stadens tunnelbanesystem invigdes 1955, alltså ganska snart efter kriget, med sju stationer. Staden återställdes sakta men säkert men det var först efter Stalins död under 1950-talet som det tog fart ordentligt.
Många nya bostadsområden och förorter byggdes och flera var kraftigt influerade av den svenska funktionalismen och tanken om folkhemmet.
1991 ändrades stadens namn tillbaka till St Petersburg efter att det hållts en folkomröstning i samband med Rysslands första presidentval.
Även många av stadens områden med namn anknytande till Sovjet-perioden ändrades också även om länet där i staden ligger fortfarande heter Leningradskaja oblast, vilket översatt betyder, Leningrads län.