Родился 9 февраля 1959 г. в Новосибирске.
В 1981 г. окончил Новосибирский электротехнический институт (ныне Новосибирский государственный технический университет) по специальности "инженер-гидроэлектроэнергетик".
После окончания вуза переехал в Омск, где работал на кожевенном заводе главным механиком.
В 1983-1985 гг. - второй секретарь Кировского райкома ВЛКСМ.
В 1985-1989 гг. - секретарь парткома кожевенного завода.
В 1989-1991 гг. - заведующий идеологическим отделом Кировского райкома КПСС.
В 1990 г. поступил в Высшую партийную школу, но не окончил ее.
После запрета в 1991 г. деятельности КПСС почти 30 лет проработал в административно-технической инспекции Омска. Покинул муниципальную службу в 2003 г.
Одновременно с 1994 по 2021 г. был депутатом Законодательного собрания Омской области I-VI созывов от КПРФ. Избирался в 1994, 1998, 2002 гг. по Кировскому одномандатному округу. На выборы в 2007 г. был выдвинут в составе списка КПРФ по единому областному округу. В 2011 г. вновь был избран депутатом заксобрания по Кировскому округу, в 2016 г. - по единому округу в составе списка компартии. С 2002 г. возглавлял фракцию КПРФ в областном парламенте.
С 2000 по 2021 г. - второй секретарь Омского областного комитета КПРФ.
В 2021 г. был избран первым секретарем Омского обкома КПРФ. Член ЦК КПРФ.
С 2021 г. - депутат Государственной думы РФ VIII созыва от КПРФ. Был избран 19 сентября 2021 г. по Омскому одномандатному избирательному округу №139 (Омская обл.). Набрал 31,68% голосов (второе место в округе занял депутат заксобрания Омской области, президент Фонда развития Омской области им. С. И. Манякина Степан Бонковский от "Единой России", 27,29%).
В июне 2023 г. был выдвинут от КПРФ на выборы губернатора Омской области. 10 сентября 2023 г. по итогам выборов получил 10,80% голосов, заняв второе место после врио главы региона, кандидата от "Единой России" Виталия Хоценко.