Из семьи рабочего. Русский.
В 1932 году окончил Гомельский железнодорожный техникум.
В Красной Армии с 1932 года. Призван Гомельским городским военкоматом. Окончил команду одногодичников.
В 1941 году окончил Военную академию РККА имени М. В. Фрунзе.
В довоенные годы — командир взвода железнодорожного полка, командир роты железнодорожного полка, командир 28-го моторизованного полка.Участник Великой Отечественной войны.
С июня 1941 года — старший помощник начальника 1-го отделения оперативного отдела штаба 11-й армии, старший помощник начальника 1-го отделения оперативного отдела штаба Северо-Западного фронта.
С июля 1943 года — старший помощник начальника оперативного отдела штаба Северо-Западного фронта, заместитель начальника оперативного отдела оперативного управления штаба Северо-Западного фронта.
С февраля 1944 года — заместитель начальника оперативного отдела оперативного управления штаба 2-го Белорусского фронта.
С июля 1944 года — начальник оперативного отдела оперативного управления штаба 3-го Белорусского фронта.После войны — начальник оперативного отдела оперативного управления штаба Белорусского военного округа.
В 1952 году окончил Высшую военную академию имени К. Е. Ворошилова.
С 12 октября 1954 года — начальник штаба Белорусского военного округа. Генерал-лейтенант (4.05.1955).
С 11 марта 1961 — начальник штаба — первый заместитель главнокомандующего Группы советских войск в Германии.
С 8 декабря 1965 года — вновь начальник штаба — первый заместитель командующего войсками Белорусского военного округа.
В отставке с июля 1974 года.Член ВКП(б)/КПСС с 1939 года. Депутат Верховного Совета РСФСР 6-го созыва (1963—1967).Похоронен в Минске на Восточном кладбище.