Do WP wstąpił 5 października 1944, w lutym 1945 skończył Oficerską Szkołę Piechoty nr 2 w Lublinie ze stopniem podporucznika, po czym został wcielony do 6 Dywizji Piechoty i wysłany na front. Brał udział w zdobywaniu Kołobrzegu w marcu 1945, w forsowaniu Odry i dotarciu do Łaby. Od 20 listopada 1945 dowódca 2 batalionu 16 pułku piechoty, w 1946 awansowany przez Michała Żymierskiego na kapitana. W 1947 skończył kurs w Centrum Wyszkolenia Piechoty w Rembertowie i został szefem wydziału zwiadowczego sztabu 6 DP. W 1948 awansowany na majora, w 1949 został dowódcą 53 pułku piechoty w Ostródzie, a w 1951 dowódcą 75 pułku piechoty w Suwałkach. Zastępca szefa wydziału szkolenia w Dowództwie Warszawskiego Okręgu Wojskowego w stopniu podpułkownika od 1952, 1953–1954 skończył kurs doskonalenia dowódców w Akademii Sztabu Generalnego WP. W 1957 został zastępcą komendanta ASG, do 1959 studiował w Akademii Sztabu Generalnego Sił Zbrojnych ZSRR w Moskwie, po powrocie został szefem oddziału szkolenia bojowego dowództwa Śląskiego Okręgu Wojskowego we Wrocławiu. Od 1962 dowódca 11 Drezeńskiej Dywizji Pancernej w Żaganiu. W październiku 1962 mianowany generałem brygady; nominację wręczył mu w Belwederze przewodniczący Rady Państwa PRLAleksander Zawadzki. Jako dowódca 11 DPanc. był dowódcą rzutu pancernego w defiladzie Tysiąclecia Państwa Polskiego w lipcu 1966 w Warszawie. Od 1967 szef Zarządu VI Organizacyjnego Sztabu Generalnego WP, od 1972 szef Inspektoratu Obrony Terytorialnej i Wojsk Obrony Wewnętrznej – I zastępca Głównego Inspektora Obrony Terytorialnej. Funkcję tę sprawował przez 11 lat. Od października 1973 generał dywizji, nominację wręczył mu w Belwederze I sekretarz Komitetu Centralnego PZPREdward Gierek w obecności przewodniczącego Rady Państwa PRL prof. Henryka Jabłońskiego. W okresie czerwiec 1983 – listopad 1987 szef Polskiej Misji Wojskowej w Berlinie Zachodnim w randze ministra pełnomocnego. Następnie komendant główny OHP (1987–1989). W listopadzie 1989 pożegnany przez ministra obrony narodowej gen. armii Floriana Siwickiego w związku z zakończeniem zawodowej służby wojskowej i w lutym 1990 w wieku 65 lat przeniesiony w stan spoczynku.