Участвовал в Первой Мировой войне в звании старшего унтер-офицера, с 1918 года — в Красной Армии. Во время Гражданской войны служил комиссаром бронепоезда. В 1935 году окончил академию им. Фрунзе
Во начале Великой Отечественной (1941-42) служил командующим Архангельским военным округом. С апреля 1942 переведён в должность заместителя командующего 1-й ударной армии, позже командующий 1-й ударной армией. С декабря 1942 по декабрь 1943 года командующий 2-й ударной армией.
В январе 1944 года переведён на должность заместителя командующего войсками 4-го Украинского фронта, где пробыл до февраля того же года. В марте командующий 42 армией. С марта по февраль 1945 в командующий 67-й армией. С марта по июнь 1945 года командующий 19-й армией
В 1948 году окончил Высшие академические курсы при Военной академии Генштаба. С 1952 по 1957 год — начальник этих курсов. Позже — начальник факультета Военной академии им. М. В. Фрунзе.
С октября 1959 года в отставке по болезни. Депутат Верховного Совета СССР 2-го и 3-го созывов.