В 1966 году закончил среднюю школу в г. Борисов Минской области.
Трудовую деятельность начал автослесарем в\ч 59952 (г. Борисов).
В 1972 году окончил переводческий факультет Минского государственного педагогического института иностранных языков.
1972—1974 гг. — переводчик в учебном центре механизации сельского хозяйства в Уганде.
С октября 1974 г., затем с 1976 по 1978 гг. — сотрудник Управления внешних сношений Госкомитета СССР по профтехобразованию.
С декабря 1974 по декабрь 1975 гг. — служба в Советской Армии в Кингиссепской бригаде 6-й армии войск ПВО. Оператор стартовой батареи зенитно-ракетного комплекса С-200. Младший сержант.
С 1978 по 1981 гг., сотрудник Оргкомитета «Олимпиада-80» (отдел Африки). Принимал активное участие в мобилизации африканских спортивных делегаций для участия в Играх, что способствовало срыву западных планов бойкота московской Олимпиады. По итогам работы награжден медалью «За трудовую доблесть».
В 1981—1996 гг. — сотрудник Советского комитета солидарности стран Азии и Африки. В координации с советскими спецслужбами занимался поддержкой освободительных движений Юга Африки (АНК в ЮАР и СВАПО в Намибии).
В 1990 году закончил аспирануру Института стран Азии и Африки при МГУ, кандидат исторических наук. Тема диссертации «Объединенный демократический фронт Южной Африки в борьбе против режима апартеида (1983—1990)».
Член КПСС с 1988 г. Активист народно-патриотического движения. Участник защиты Верховного Совета в сентябре — октябре 1993 года.
С 1996 по январь 2000 гг. — консультант аппарата депутатской группы «Народовластие» ГД (руководитель — Н. И. Рыжков); ответственный секретарь Комиссии «Анти-НАТО» ГД.
В 1997 посещал с ознакомительной поездкой Нагорный Карабах, где выразил поддержку освободительной борьбе народа Арцаха.
С сентября 1999 года — ответственный секретарь Комиссии Госдумы по обобщению информации о преступлениях НАТО против Югославии.
С 2000 по 2003 гг. — сотрудник аппарата Агропромышленной депутатской группы (руководитель — Н. М. Харитонов); ответственный секретарь Комиссии по оказанию содействия Югославии в преодолении последствий агрессии НАТО. Член Международного комитета в защиту Слободана Милошевича. Несколько раз посещал С.Милошевича в тюрьме в Гааге.
С января 2002 по 2010 гг. — член редколлегии, заместитель главного редактора газеты «Советская Россия». В июне 2004 года избран членом Центрального комитета КПРФ. С ноября 2008 года — член Президиума и Секретарь ЦК КПРФ.
4 декабря 2011 года избран депутатом Государственной Думы ФС РФ шестого созыва от КПРФ.
Женат, имеет двоих сыновей.
С декабря 2011 года является членом Российского общественного комитета в защиту Воислава Шешеля.