De club werd in 1925 opgericht door arbeiders van een metaalfabriek Leningradski Metallitsjeski Zavod. In 1929 nam de club de naam Stalinets Leningrad aan. Bij de start van de Sovjet-competitie in 1936 kregen andere clubs uit Leningrad de voorkeur om in die competitie te spelen. Stalinets begon in de tweede klasse, waar ze gedeeld tweede werden achter Dinamo Tbilisi. In 1937 deed de club mee voor de titel, maar werd uiteindelijk gedeeld derde op één punt van de eerste twee. Door een fikse competitie-uitbreiding promoveerde de club en werd nu een van de vijf clubs uit Leningrad in de hoogste klasse. De club eindigde veertiende en doordat de competitie hierna weer teruggebracht werd na veertien clubs degradeerden de andere twaalf clubs die onder Stalinets eindigden, waaronder ook FK Zenit. Het volgende seizoen eindigde de club elfde. In de tweede klasse eindigde Zenit op een voorlaatste plaats. Na dit seizoen besloten de clubs dan te fuseren en de fusieclub nam de naam van Zenit over en de plaats in de hoogste klasse van Stalinets.
Tijdens de Tweede Wereldoorlog voetbalden de Russen door en in 1944 won Zenit de Russische beker. Een lange tijd zonder prijzen volgde. In 1967 eindigde de club op een degradatieplaats in de competitie. Die tegenslag bleef de club bespaard, want de Sovjet-machthebbers wilden de club niet laten degraderen in het vijftigste jubileumjaar van de Russische Revolutie. De Revolutie was begonnen in Sint Petersburg en dit was een postuum bedankje aan de stad van het communistische regime. Aan het eind van de jaren zeventig groeide Zenit weer tot een subtopper. De landstitels moest het alleen altijd afstaan aan Dynamo Kiev of een van de clubs uit Moskou. De succesvolle uitzondering kwam in 1984, toen de club zich tot kampioen van de USSR mocht kronen.
Eind jaren tachtig volgde weer een terugval waarvan de club midden jaren negentig weer herstelde. Na 1991 veranderde de naam weer in Zenit Sint-Petersburg. In 1995 promoveerde het vanuit de eerste divisie naar de Premjer-Liga. In 1999 won de club de Russische beker door met 3-1 te winnen van Dinamo Moskou. In 2002 verloor het de finale van de grootste Russische club, CSKA Moskou. In december van 2005 kocht Gazprom de club; vanaf dat moment keek de club weer naar boven. Met het aanstellen van de ervaren Nederlandse trainer-coach Dick Advocaat wilde de club weer mee voetballen voor de hoofdprijzen. Daartoe haalde Advocaat de Nederlandse oud-internationaal Fernando Ricksen en de Belgische international Nicolas Lombaerts naar Rusland.
Onder leiding van Advocaat de doorbrak Zenit Sint Petersburg de hegemonie van Moskouse clubs in het moderne Rusland. Alleen Alania Vladikavkaz, een club uit de Kaukasus, presteerde dit eenmaal eerder. Velen zagen dit als een goed teken en als een revolutie in het Russische voetbal. Een eerste hoogtepunt was het winnen van de UEFA Cup 2007/08. Glasgow Rangers werd op 14 mei 2008 in het City of Manchester Stadium met 2-0 verslagen. Zenit was daarmee de tweede Russische club die een Europese titel behaalde, na de UEFA Cup-winst van CSKA Moskou in 2005.
Zenit Sint-Petersburg trad in het seizoen 2011/12 aan als titelverdediger en wist het kampioenschap onder leiding van de Italiaanse trainer-coach Luciano Spalletti te prolongeren. "We zijn de voetbalhoofdstad van Rusland", jubelde Gazprom-topman Aleksej Miller na de met 2-1 gewonnen wedstrijd tegen achtervolger Dinamo Moskou op 28 april. Met nog drie speelronden voor de boeg was de club uit de tweede stad van Rusland niet meer te achterhalen voor de concurrentie[1].
Ook voor Spalletti was het de tweede landstitel op rij. Hij kwam in 2010 naar Zenit Sint-Petersburg om de aldaar ontslagen Dick Advocaat op te volgen. Die had de club in 2007 naar het Russisch kampioenschap geleid en een jaar later de UEFA Cup bezorgd. Door tegenvallende resultaten werd de Nederlandse trainer-coach op 10 augustus2009 echter de laan uitgestuurd. Spalletti borduurde voort op het werk van Advocaat en profiteerde van de vele gasdollars die Gazprom jaarlijks in de club stak.
De bekendste speler van het kampioensteam van Zenit was Andrej Arsjavin. Hij vertrok in 2009 naar de Engelse topclub Arsenal, maar wist in Londen zelden of nooit te excelleren. In februari 2012 keerde de aanvaller op huurbasis terug naar zijn oude club. Voormalig PSV-aanvaller Danko Lazović, net hersteld van een blessure, kon geen bijdrage leveren aan de kampioenswedstrijd. De Portugees Danny en de Russische internationals Roman Sjirokov en Aleksandr Kerzjakov waren andere grote namen in de selectie van Spalletti.
FK Zenit Sint-Petersburg speelt sinds 1981 in diverse Europese competities. Hieronder staan de competities en in welke seizoenen de club deelnam. De edities die Zenit heeft gewonnen zijn dik gedrukt:
De navolgende voetballers kwamen als speler van Zenit Sint-Petersburg uit voor een vertegenwoordigend Europees A-elftal. Tot op heden is Aleksandr Kerzjakov degene met de meeste interlands achter zijn naam. Hij kwam als speler van Zenit Sint-Petersburg in totaal 74 keer uit voor het Russisch voetbalelftal.