В Советской армии с 1967 года.
В 1967 году закончил Минское суворовское военное училище, в 1971 году — Киевское высшее общевойсковое командное училище (с отличием) (с отличием).
Служил в Группе советских войск в Германии: командир мотострелкового взвода, с 1972 года — командир мотострелковой роты, с 1974 года — командир мотострелкового батальона.
В 1979 году закончил Военную академию имени Фрунзе.
В 1979 года служил в дальневосточном военном округе, заместитель командира мотострелкового полка, с 1980 года — командир учебного мотострелкового полка, с 1982 — начальник штаба мотострелковой дивизии, с 1986 года — командир мотострелковой дивизии. С 1987 по 1990 годы — начальник окружного учебного центра подготовки младших специалистов в Дальневосточном военном округе (Чита). В 1992 закончил Военную академию Генерального штаба в Москве (с отличием).
По окончании академии поступил в Вооружённые силы Белоруссии в 1992 году.
С 10 июля 1992 года — первый заместитель командующего 28-й общевойсковой армией, после её сокращения, с 7 апреля 1993 году — командир 28-го армейского корпуса.
С августа 1994 года — начальник Главного штаба — первый заместитель Министра обороны Республики Беларусь.
С 10 октября 1995 года — Министр обороны Белоруссии.
1 ноября 1996 года со скандалом освобожден от должности Министра обороны Республики Беларусь «за проступок, дискредитирующий воинское звание офицера (появление в общественном месте в нетрезвом состоянии)».
В марте 1997 года решением Совета министров обороны государств—участников СНГ назначен первым заместителем начальника Штаба по координации военного сотрудничества государств—участников СНГ.
С 29 ноября 2000 года — заместитель Государственного секретаря Совета Безопасности Белоруссии .
С 24 сентября 2001 года по 4 декабря 2009 года — Министр обороны Белоруссии .
С 4 декабря 2009 года — Государственный секретарь Совета безопасности Белоруссии