С 1944 года обучался в Тамбовском суворовском военном училище.
После выпуска из суворовского училища в 1950 году призван в Советскую Армию. Окончил Львовское пехотное училище имени Н. А. Щорса в 1952 году. С 1952 года командовал последовательно взводом и ротой в Группе советских войск в Германии. С 1959 года - начальник штаба мотострелкового батальона в Дальневосточном военном округе. Член КПСС.
В 1965 году окончил Военную академию имени М. В. Фрунзе. С 1965 года был заместителем командира, а с 1968 года - командиром мотострелкового полка в Северо-Кавказском военном округе. С 1970 года - начальник штаба мотострелковой дивизии в Северо-Кавказском военном округе.
В 1973 году окончил Военную академию Генерального штаба. С 1973 года командовал 24-й стрелковой дивизией («Железная дивизия») в Прикарпатском военном округе. С 1975 года - командир армейского корпуса в Закавказском военном округе. С 1977 года - командующий 7-й гвардейской армией в составе Закавказского военного округа. С декабря 1979 года - первый заместитель командующего войсками Забайкальского военного округа.
С августа 1982 года - командующий войсками Южной группы войск на территории Венгрии. С августа 1985 года - командующий войсками Закавказского военного округа. С мая 1988 года - командующий войсками Московского военного округа.
Находясь в служебной командировке на Кавказе и узнав там о массовой демонстрации в Тбилиси, предложил Министру обороны СССР Д. Т. Язову свою кандидатуру для помощи командованию округу. Прибыл в Тбилиси и организовал вытеснение митингующей толпы из центра города, сопровождавшееся человеческими жертвами (во время Тбилисских событий погибло 19 человек; утверждалось, что все они были зарублены солдатами сапёрными лопатками; впоследствии опубликованы данные, что из числа погибших 18 человек погибли от сдавливания в толпе и затаптывания бегущими людьми).
С января 1989 года - первый заместитель Министра обороны СССР. Народный депутат СССР в 1989-1991 годах.
В ноябре 1991 года уволен в отставку. Живёт в Москве.