Urodził się 24 sierpnia 1896 r. w Kłodnie Wielkim pow. Żółkiew. Syn Marii.
Uczył się w gimnazjum, maturę wojenną uzyskał w gimnazjum w Żółkwi.
W czasie I wojny światowej od 16 sierpnia 1914 r. w Legionach Polskich. W stopniu kpr. służył w oddziale sztabowym I baonu 3 pp LP. Podczas bitwy pod Kościuchnówką 6 sierpnia 1916 r. dostał się do niewoli rosyjskiej, z której zbiegł i powrócił do kraju.
W styczniu 1918 r. wcielony do armii austro-węgierskiej.
Od listopada 1918 r. brał udział w obronie Lwowa przeciwko Ukraińcom. Dostał się do niewoli, z której zbiegł. Od czerwca do grudnia 1919 r. dowodził plut. w Złoczowskim Baonie Zapasowym. Od grudnia 1919 r. w 54 pp.
Zweryfikowany jako kpt. piech. z 1 czerwca 1919 r., w pułku tym służył do czerwca 1933 r. Był dowódcą komp., komendantem obwodu PW (1928),dowódcą baonu i adiutantem pułku. 1 stycznia 1931 r. awansował na mjr. piech. Od czerwca do września 1933 r. dowódca baonu KOP „Snów”, a następnie do kwietnia 1935 r. baonu KOP „Wołożyn”. 16 kwietnia 1935 r. został wówczas dowódcą baonu KOP „Słobódka”. Awansowany 19 marca 1939 r. na ppłk. piech. 12 kwietnia objął dowództwo baonu KOP „Słobódka II”.
Podczas II wojny światowej w czasie kampanii 1939 r. 1 września baon przemionowano na III baon 3 pp KOP. Uczestniczył w działaniach na Suwalszczyźnie i Wołyniu. Brał udział w walkach z Sowietami. Po kapitulacji pułku pod Radoszynem koło Kowla (23 września) dostał się do niewoli sowieckiej. 30 września przetransportowany z Kowla do Szepietówki, zaś w dniach 2-5 października do kopalni torfu w obwodzie sumskim, a 1-2 listopada do Kozielska. W 1940 r. przewieziony do obozu w Juchnowie, od 18 czerwca 1940 r. przebywał w obozie w Griazowcu. Po wybuchu wojny niemiecko-sowieckiej (22 czerwca 1941) i podpisaniu umowy Sikorski-Majski (30 lipca) 3 września uwolniony. Wstąpił do Armii Polskiej w ZSSR. Od września 1941 do kwietnia 1942 r. dowodził 18 pp. Następnie (do października 1942 r.) dowódca 15 pp w ZSSR i na Bliskim Wschodzie. Od października 1942 do lipca 1943 r. dowodził 5 baonem ckm w Armii Polskiej na Wschodzie. Od 1 sierpnia 1943 do 25 sierpnia 1944 r. był zastępcą dowódcy 6 Lwowskiej BP w 5 KDP. Brał udział w kampanii włoskiej 2 Korpusu Polskiego 1944-1945 m.in. w bitwie o Monte Cassino. Od sierpnia 1944 do sierpnia 1945 r. dowodził 2 BStrz Karpackich. Z dniem 1 listopada 1944 r. awansował na płk. piech. Następnie (listopad 1945-luty 1946) w 7 DP. Od lutego 1945 do maja 1947 r. sprawował funkcję komendanta Szkoły Podchorążych Piechoty w Centrum Wyszkolenia Armii we Włoszech.
Po przybyciu do Wlk. Brytanii i demobilizacji zamieszkał w Walii, a potem w Londynie. Członek Kapituły Krzyża Orderu Wojennego Virtuti Militari (7 marca 1960-7 marca 1962 i od 7 marca 1964). 11 listopada 1964 r. awansowany przez prezydenta Augusta Zaleskiego Andersa na gen. bryg.
Członek I Rady RP (18 grudnia 1954-17 grudnia 1957), II Rady RP (29 marca 1958-28 marca 1963) i IV Rady RP (28 października 1968-7 listopada 1970), za każdym razem powołany przez prezydenta Augusta Zaleskiego. Od 15 września 1969 do 14 lipca 1972 r. minister Obrony Narodowej w rządzie Aleksandra Zawiszy i Zygmunta Muchniewskiego.
Zmarł 13 sierpnia 1973 r. w Londynie i został pochowany w Alei Zasłużonych na Cmentarzu Komunalnym w Opolu Półwsi.
Odznaczony orderem Virtuti Militari 4 i 5 kl., Polonia Restituta 2 i 4 kl., Krzyżem Niepodległości, sześciokrotnie Krzyżem Walecznych, złotym i srebrnym Krzyżem Zasługi.
Był żonaty.
W.K. Cygan, Kresy we krwi 1939, Mińsk Mazowiecki 2012; Kierownictwo obozu niepodległościowego na Obczyźnie 1945-1990, Londyn 1996; T. Kryska-Karski, S. Żurakowski, Generałowie Polski Niepodległej, Warszawa 1991; „Monitor Polski” nr 179/1931; Pierwsze Sprawozdanie Dyrekcyi c.k. Gimnazyum Państwowego w Żółkwi za rok szkolny 1916, Żółkiew 1916; Rocznik oficerski 1923, 1924, 1928, 1932; R. Rybka, K. Stepan, Rocznik oficerski 1939, Kraków 2006.