Awanse podporucznik w korpusie oficerów artylerii – 15 kwietnia 1945 porucznik w korpusie oficerów polityczno-wychowawczych – 7 maja 1946 kapitan – 17 grudnia 1946 major – 22 lipca 1948 podpułkownik – 1 lipca 1952 pułkownik – 1 października 1958 generał brygady – 9 października 1968 (akt nominacyjny otrzymał 12 października 1968 w Belwederze od przewodniczącego Rady Państwa PRL marszałka Polski Mariana Spychalskiego) generał dywizji – 7 października 1976 (akt nominacyjny otrzymał 11 października 1976 w Belwederze od I sekretarza Komitetu Centralnego PZPR Edwarda Gierka, w obecności przewodniczącego Rady Państwa prof. Henryka Jabłońskiego)
Działalność partyjna Działacz PPR i PZPR. Wielokrotnie wybierany do władz partyjnych w jednostkach wojskowych i instytucjach centralnych MON. Na V Zjeździe PZPR (1968) wybrany w skład Centralnej Komisji Rewizyjnej PZPR. Na VII Zjeździe PZPR (1975) oraz na VIII Zjeździe PZPR (1980) wybrany w skład Centralnej Komisji Kontroli Partyjnej PZPR (pozostawał w jej składzie do IX Zjazdu PZPR w lipcu 1981). W latach 1980–1981 członek Prezydium Centralnej Komisji Kontroli Partyjnej. Był członkiem Państwowej Komisji Wyborczej w wyborach do Sejmu PRL VIII kadencji w 1980. Działał w Komitecie Społeczno-Politycznym Rady Ministrów.