Родился 26 ноября 1945 года в с. Воротниково Курганской области в семье учителя и библиотекарши. Окончил УПИ имени С.М. Кирова, Высшую школу КГБ. Работал слесарем-сборщиком на оборонном предприятии, был старшим инженером. С 1970 года работал в Свердловском обкоме ВЛКСМ заведующим отделом студенческой молодежи, вторым секретарём обкома.
С 1975 года служил в 5-м управлении КГБ. Выполнял специальные задания в Афганистане в период войны в Афганистане. С 1982 года — начальник городского отдела КГБ в Свердловске-44, руководитель подразделения, замначальника УКГБ. С 1985 года руководил красноярским Управлением КГБ. С октября 1988 года работал в центральном аппарате комитета, заместитель начальника управления по защите конституционного строя КГБ.
С 1991 года — заместитель председателя совета банка «Изумрудный». С 1992 года — заместитель главы службы безопасности и информации группы «Мост».
В 1995 году избран депутатом Государственной думы по списку КПРФ, был членом комитета по безопасности. В 1999 году переизбран в Госдуму по Серовскому округу № 167, был членом группы «Народный депутат», заместителем председателя комитета по законодательству. На выборах 2007 года входил в предвыборную тройку Партии социальной справедливости Алексея Подберёзкина.
Награждён орденом Красной Звезды и медалями. Женат, двое сыновей.