Po klęsce Polski w wojnie obronnej wstąpił w Krakowie do ZWZ. Od lipca 1941 działał w Warszawie. W 1943 przeszedł do GL. Współpracował z Wydziałem Informacji Sztabu Głównego GL. Współautor instrukcji szkoleniowych opracowanych w Sztabie Głównym GL. W końcu czerwca 1944 skierowany na Lubelszczyznę i mianowany oficerem wyszkolenia w sztabie dowódcy III Obwodu AL Grzegorza Korczyńskiego. Komendant Polowej Oficerskiej Szkoły AL. Uczestnik bitwy w Lasach Parczewskich 18–21 lipca 1944, dowódca straży przedniej w czasie próby przebicia się z okrążenia. Przez kilka dni był dowódcą garnizonu w Lubartowie.

27 lipca 1944 obok Korczyńskiego wkroczył do Lublina na czele oddziałów AL i zatknął polską flagę na Bramie Krakowskiej. Później służył w MO jako podpułkownik i szef wydziału Komendy Głównej MO. W czerwcu 1947 skończył studia prawnicze na UW.

W grudniu 1947 przeniesiony z MO do WP, w 1950 skończył Akademię Sztabu Generalnego WP. Mianowany pułkownikiem. Później wykładał w Oficerskiej Szkole Piechoty. Był dowódcą pułku, zastępcą dowódcy 1 DP im. Tadeusza Kościuszki ds. liniowych i zastępcą szefa Departamentu Kadr MON.

Napisał wspomnienia pt. „Ze wspomnień komendanta Polowej Oficerskiej Szkoły Armii Ludowej” (Wojskowy Przegląd Historyczny, nr spec. 22, 1962).