Absolwent PWST w Krakowie (1965). W teatrze zadebiutował 25 września 1965 roku. W latach 1965–1970 występował w Teatrze im. Juliusza Słowackiego w Krakowie, potem przeniósł się do Warszawy, gdzie pracował najpierw w Teatrze Ludowym (1970–1974), a następnie w Teatrze Nowym (1975–2005).
Największą popularność przyniosła mu rola kapitana Franciszka Dąbrowskiego w filmie Stanisława Różewicza z roku 1967 Westerplatte oraz rola porucznika Józefa Zawistowskiego w serialu Polskie drogi.