Podporucznik, a następnie porucznik Armii Ludowej. Kierownik wydziału zaopatrzenia Oddziału IV Sztabu Głównego AL. Od 1 sierpnia 1944 jako ppor. „Stach” był dowódcą oddziału AL na Woli. Od 7 sierpnia, oficer zgrupowania AL na Starym Mieście. Od 17 sierpnia w Śródmieściu, a od 12 września dowódca oddziału AL-PAL „Blaszanka” na Powiślu Czerniakowskim, walczącego w ramach Zgrupowania „Kryska” do 23 września. Opuścił dzielnicę, wraz z ludnością cywilną. Z obozu w Pruszkowie został wywieziony na roboty przymusowe.
Po powrocie do Polski, w lipcu 1945, otrzymał funkcję zastępcy kierownika Wojewódzkiego Urzędu Bezpieczeństwa Publicznego w Łodzi. Na początku 1946 roku przeniósł się do Warszawy, gdzie 13 stycznia został szefem UBP tego miasta. Następnie od 1 stycznia 1953 był starszym inspektorem Inspektoratu Ministra Bezpieczeństwa Publicznego, a od 1 sierpnia 1954 kierownikiem Inspektoratu Wiejskiego MBP. Po likwidacji MBP, od 1 kwietnia 1955, był sekretarzem Komitetu ds Bezpieczeństwa Publicznego.
Po przejęciu wszystkich funkcji bezpieczeństwa publicznego, kontrwywiadu i wywiadu przez Ministerstwo Spraw Wewnętrznych w 1956, 28 listopada stanął na czele Departamentu III MSW. 15 kwietnia 1963 odwołany z MSW.