Od października 2004 grał Ojca Laurentego w produkcji Teatru Studio Buffo Romeo i Julia.

Na scenie Teatru Muzycznego „Roma” wystąpił w spektaklach: Pięciu braci Moe, Grease (jako Danny Zuko, Kenickie, Johnny Casino), Musicale, ach te musicale, Taniec wampirów (jako Kukol), Koty (jako Ram-Tam Tamek), Akademia pana Kleksa (jako Weronik Czyścioch), Upiór w operze (jako Richard Firmin), Les Misérables” (jako członek zespołu i dubler roli Javerta), Aladyn JR (jako Dżafar), Deszczowa piosenka, Mamma Mia! i Piloci.

Występował także w Teatrze Komedia w spektaklach: Najlepsze z najlepszych, Niebezpieczne związki i Kieszonkowa orkiestra.

W 2011 nagrał utwór pt. „Analiza” z wokalistką Malwiną Kusior. W 2014 wyreżyserował na deskach warszawskiego Teatru Rampa musical Rent. Wyreżyserował na deskach Opery i Filharmonii Podlaskiej spektakl muzyczny Mariusza Urbanka Brzydki kaczorek. Jest reżyserem i autorem scenariuszy koncertów dla Teatru Muzycznego w Łodzi, Opery i Filharmonii Podlaskiej w Białymstoku, Teatru Muzycznego w Chorzowie, Filharmonii w Szczecinie, Filharmonii Opolskiej.

W 2020 został zastępcą dyrektora ds. artystycznych Teatru Muzycznego w Łodzi.

W 2025 objął funkcję zastępcy dyrektor ds.