1703年5月27日,于兔子岛上举行了隆重的圣 彼得堡奠基仪式;彼得大帝首先在涅瓦河三角洲的兔子岛上修建了彼得保罗要塞,驻重兵把守,以防御瑞典军队的进攻,后扩建为城;至此,波罗的海出海口从此纳入俄罗斯版图,彼得大帝在圣彼得堡创建了波罗的海舰队,使俄罗斯在历史上第一次拥有了自己的海军。
1712年,俄罗斯将首都从莫斯科迁到圣彼得堡定都200多年,直到1914年,这一时期一直叫圣彼得堡。
1914年第一次世界大战爆发,当时俄罗斯同德国是敌对国,因为圣彼得堡的"堡"字是源自德语发音,当局决定把城市改名叫彼得格勒。
1917年,随着阿芙乐尔号巡洋舰的一声炮响,列宁领导的十月革命在这里获得成功,从此开创了一个全新的苏联时代。
1918年3月,首都从这里又迁回莫斯科。
1924年列宁逝世后,为了纪念列宁,城市改名为列宁格勒,"格勒"在俄语中为城市的意思。
在第二次世界大战期间,圣彼得堡当时叫做列宁格勒,这里曾上演了一段悲壮的历史。德国法西斯军队将这座城市围困了872天(从1941年9月8日到1944年1月27日),是二战时期持续时间最长的围困与反围困作战。苏联军民开始了艰难的列宁格勒保卫战。列宁格勒保卫战最终取得了胜利,但是也付出了惨痛的代价:据统计,列宁格勒城内共有642000人死于饥饿与严寒,两万多人死于德军的空袭与炮击,3200幢建筑被摧毁,城市面目全非,街道变成了瓦砾堆。战后人们重建家园,将被法西斯炮火毁坏的古迹一一修复,经过艺术家和工匠们的艰苦劳动,这座城市又再现昔日风采。
1991年9月6日,俄罗斯联邦最高苏维埃颁布法令宣布列宁格勒恢复圣彼得堡旧名。
1992年1月,为了给城市重新命名,圣彼得堡市又举行了一次全民投票。结果,大多数人赞同改回圣彼得堡老名。这样做,一是为了纪念彼得大帝,同时,也标志着苏联时代的结束。