Aktor teatralny, filmowy i telewizyjny. Często gra czarne charaktery, choć prywatnie jest oazą spokoju. W 1983 roku ukończył Aktorstwo w Państwowej Wyższej Szkole Teatralnej w Warszawie. Tego samego roku na I Ogólnopolskim Przeglądzie Spektakli Dyplomowych Szkół Teatralnych w Łodzi został uhonorowany nagrodą za rolę Jonatana Jeremiasza Peachuma w Operze za trzy grosze Bertolta Brechta w reżyserii Janusza Nyczaka. Zagrał m.in. Estragona w Czekając na Godota Samuela Becketta (1996) w reż. Antoniego Libery, Peachuma w Operze żebraczej wg Vaclava Havela w reż. Piotra Cieślaka (1999), Sznapsa w przedstawieniu Piotruś Pan (2000) Jamesa M. Barrie oraz Vincenta Fontaine w Grease Jima Jacobsa i Warrena Caseya (2002) w reż. Wojciecha Kępczyńskiego. W 2002 roku otrzymał nagrodą Feliksa za najlepszą drugoplanową rolę męską w spektaklu Pamięć wody Shelagh Stephenson.
W 1984 roku zadebiutował w kinie w filmie Bohun i Kmicic Andrzeja Konica, jednej z części cyklu 1944. W 1989 roku na VI Festiwalu Młode Kino Polskie ’88 zdobył nagrodę za rolę Kierownika w etiudzie studenckiej „Audiencja”.
Uznanie widzów i krytyków filmowych przyniosły mu role pana Edzia w Balu na dworcu w Koluszkach Filipa Bajona, posła Ruteckiego w Psach Władysława Pasikowskiego, prawdziwego Kilera w Kilerze Machulskiego, Sąsiada w Cześć Tereska Roberta Glińskiego, Wiśniaka w Komorniku Feliksa Falka czy Ziębę w Domu Złym Wojtka Smarzowskiego i Wojciecha w Paniach Dulskich Filipa Bajona. Obecnie pracuje na planie nowego filmu Filipa Bajona Kamerdyner jako Franc Necel.
Szerszej publiczności jest znany z licznych seriali telewizyjnych takich jak: Pogranicze w ogniu, Kuchni polskiej, Dom. Mogliśmy go podziwiać także m.in. w: 13 posterunku, Miodowych latach, Pokoju 107, M jak Miłość, Zostać miss, Na wspólnej. Pojawił się także w Glinie Pasikowskiego i Kryminalnych, O mnie się nie martw, Na dobre i na złe oraz Na noże.