Na scenie operowej zadebiutował w 1988 r. rolą Jonsona w Czarnej masce K. Pendereckiego, wystawionej w Teatrze Wielkim w Warszawie w ramach festiwalu Warszawska Jesień. Od 1989 r. jest solistą Teatru Wielkiego w Łodzi, jednocześnie występując gościnnie na scenach operowych Warszawy, Krakowa, Wrocławia, Poznania i innych. Był uczestnikiem półfinału konkursu Luciano Pavarottiego w Modenie, laureatem konkursu wokalistyki operowej im. A.Didura w Bytomiu. Odbył wiele tournées po świecie i Europie, śpiewał m.in. w Niemczech, Francji, Belgii, Holandii, Danii, Włoszech, Anglii, Szwajcarii, Irlandii Płn., Rosji, Ukrainie, Tajwanie i na Martynice. Brał udział w prapremierze Wyrywacza serc Elżbiety Sikory, opery według Borisa Viana wystawionej na scenie Opery Narodowej w Warszawie, a w roku 1997 wystąpił w paryskiej realizacji tego przedstawienia w George Pompidou Center. W repertuarze ma takie role jak: Escamillo w Carmen G. Bizeta, Kniaź Igor w Kniaziu Igorze A. Borodina, Tomski w Damie pikowej P. Czajkowskiego, Walenty w Fauście C. Gounoda, Miecznik w Strasznym dworze S. Moniuszki, Alfio w Cavalerii rusticanie P. Mascagniego, Sharpless w Madamie Butterfly, Guglielmo w Le Villi i Marcel w Cyganreii G. Puciniego, Figaro w Cyruliku sewilskim G. Rossiniego, Nabucco w Nabucco, Macbet w Macbecie, Renato w Balu maskowym, di Luna w Trubadurze, Amonasrow Aidzie G. Verdiego, Belcore w Napoju miłosnym i Enrico w Łucji z Lammermoor G. Donicettiego, Tonio w Pajacach R. Leoncavalla.