Родился 10 августа 1937 г. в г. Чите Зейской области (ныне - Забайкальский край) в семье железнодорожного инженера.
В 1959 г. окончил Ленинградский государственный университет. Работал в Ставропольской краевой коллегии адвокатов, сначала адвокатом в городе Невинномысске, затем заведующим юридической консультацией.
С 1962 по 1965 год - учеба в аспирантуре юридического факультета ЛГУ, защита кандидатской диссертации.
1965-1968 гг. – преподавал в Ленинградской специальной школе милиции МВД СССР.
1968-1973 гг. – доцент в Ленинградском технологическом институте целлюлозно-бумажной промышленности.
С 1973-1981 гг. – доцент, с 1982 года – профессор юридического факультета ЛГУ.
В 1989 г. был избран народным депутатом СССР от 47-го Василеостровского округа Ленинграда.
В апреле 1990 г. – депутат Ленинградского городского совета народных депутатов, 23 мая 1990 года – председатель Ленсовета.
12 июня 1991 года стал мэром Санкт-Петербурга.
16 июня 1996 года проиграл выборы губернатора Санкт-Петербурга своему заместителю Владимиру Яковлеву.
В 2000 г. стал доверенным лицом кандидата в президенты России В.В. Путина.
20 февраля 2000 года скоропостижно скончался в городе Светлогорске Калининградской области во время поездки, предпринятой в рамках предвыборной кампании. Похоронен на Никольском кладбище Александро-Невской лавры.