Родился в семье крестьянина, погибшего во время гражданской войны. Трудился с 16 лет на родине.
В 1930 году окончил Орловскую школу розыскных работников и три года работал агентом уголовного розыска в родном районе. С 1933 года в Красной Армии.
В 1935 году окончил Полтавскую военно-политическую школу. Начал службу политруком стрелковой роты в частях Киевского военного округа. В условиях сталинских репрессий стремительно повышался в должностях, с 1937 года был комиссаром стрелкового полка, с 1938 года — комиссаром стрелковой дивизии, имея при этом звание всего лишь старшего политрука (соответствовало общевойсковому званию капитан).
В Великую Отечественную войну вступил в первый день в той же должности в составе войск Южного фронта. В первый год войны участвовал в оборонительных боях в Молдавии, в Северном Причерноморье, в Донбассе, а также в Барвенково-Лозовской операции. Затем стал начальником политотдела 12-й армии Юго-Западного фронта.
С августа 1942 года — член Военного совета 47-й армии Заказвказского фронта, участвовал в Битве за Кавказ. С начала 1943 года — Член Военного совета 56-й армии Северо-Кавказского фронта, участвовал в Новороссийско-Таманской операции. В декабре того же года направлен на курсы политработников при Военной академии имени М. В. Фрунзе, которые окончил в апреле 1944 года.
С мая 1944 года — член Военного совета 21-й армии, в составе которой воевал до конца войны. В составе армии сражался на Ленинградском, 3-м Белорусском, 1-м Украинском фронтах. Участвовал в Выборгско-Петрозаводской и Висло-Одерской операциях. В годы войны долгое время воевал вместе с А. А. Гречко, Р. Я. Малиновским и Л. И. Брежневым, что, вероятно, сыграло положительную роль в его послевоенной карьере. Генерал-майор (27 июня 1945 года).
После Победы над Германией направлен на Дальний Восток и в июне 1945 года назначен членом Военного совета 15-й армии 2-го Дальневосточного фронта. Участвовал в Маньчжурской наступательной операции в августе 1945 года.
После войны член Военного совета армии, заместитель командующего армией по политической части. Окончил Высшие курсы усовершенствования политического состава в 1947 году, Военную академию Генерального штаба в 1954 году.
Последовательно был членом Военного совета — начальником политуправления Туркестанского военного округа с 1957 года, Прибалтийского военного округа с 1960 года, Прикарпатского военного округа с 1965 года, с 1967 года — Группы советских войск в Германии. С 1971 года до конца жизни — начальник Военно-политической академии имени В. И. Ленина. Воинское звание генерал армии присвоено 3 ноября 1973 года.
Жил в Москве. Был депутатом Верховного Совета СССР 5-го (1958—1962) и 8-го (1970—1974) созывов. Похоронен на Новодевичьем кладбище.
Автор мемуаров «В годы испытаний», М., 1979.