Родился 22 марта 1946 года в Ленинграде.
Окончил Ленинградский топографический техникум (1966), Московский институт инженеров геодезии, аэрофотосъемки и картографии (1974).
Член редакционного совета радиогазеты «Слово».
С 3 июля 2004 по 30 ноября 2008 — член Президиума ЦК КПРФ. На XIII съезде КПРФ в ноябре 2008 вновь был избран членом ЦК.
Депутат Государственной Думы России 3-го и 5-го созывов. На пленарном заседании Госдумы 5 декабря 2008 года потребовал сохранить уникальную звероферму — племенной завод «Пушкинский». Захват зверофермы был предотвращён.
С 22 февраля 2003 по октябрь 2004 — 1-й секретарь Санкт-Петербургского горкома КПРФ. 1 февраля 2009 года вновь избран первым секретарём.