Датой рождения отечественного футбола принято считать 13 сентября1898 года[2], когда на плацу кадетского корпуса состоялся матч между питерскими коллективами кружка любителей спорта («Спорт») и кружка футболистов (4:3). В 1901 году английскими клубами «Невский», «Невка» и «Виктория» была создана Санктпетербургская футбол-лига. Разыгран первый чемпионат города, победителем которого стали футболисты «Невки». В 1904 году образован футбол-хоккей клуб «Меркур» впоследствии ставший одним из флагманов дореволюционного первенства города.
Главной футбольной ареной города ныне является «Газпром Арена», где выступает «Зенит». Построен на месте более полувека являвшегося крупнейшим в городе стадиона имени Кирова. Также есть стадион «Петровский» — домашняя арена «Зенита» до переезда на Крестовский остров; помимо большой арены «Петровского» существует также малая, где проводят свои матчи городские любительские команды. «Динамо» — стадион одноимённой футбольной команды, расположен на Крестовском острове, 31 мая 1942 года там прошёл блокадный матч. Nova Arena — стадион малой вместимости в северной части города (Калининский район), проводятся детско-юношеские соревнования, соответствует также требованиям регламента Первенства ПФЛ.
Расположение города на берегах Балтийского моря и одновременно наличие реки Нева способствует тому, что Санкт-Петербург является одним из ведущих российских центров парусного, водно-моторного, гребного и прочего спорта на открытой воде.
Парусный спорт в Россию «привёл» Пётр I. Он в 1718 году создал в Санкт-Петербурге Невский яхт-клуб в Галерной гавани, который является старейшим в стране. И в XXI веке город принимает парусно-спортивные мероприятия, такие как ежегодные Кубок Большой Невы и Парусная неделя, а также другие регаты.
По водно-моторному спорту город является одним из лидеров в мире, проведшим более пяти десятков гонок, в том числе большую часть российских этапов Формулы-1 на воде (F1H20).