W 1998 wcielił się w Aleksa, głównego bohatera filmu Macieja Dutkiewicza Fuks (1999). Rozpoznawalność przyniosły mu także kreacje w filmach Olafa Lubaszenki: Kuby Brennera w Chłopaki nie płaczą (2000) i Kuby Aksera w Poranku kojota (2001). Jako aktor dubbingowy debiutował rolą Kuzco w filmie animowanym Nowe szaty króla (2000). Za kreację Hipolita Wielosławskiego w ekranizacji Przedwiośnia (2001) był nominowany do Orła w kategorii „najlepsza drugoplanowa rola męska”. W 2001 czytał wakacyjną powieść Kompletna plaża, czyli dziennik Adama Zawodnego w Radiu Zet w ramach cyklu opowiadań autorstwa Rafała Bryndala i Dariusza Hyski, a także został pierwszym laureatem nagrody „5.10. i co dalej” im. Marcina Kołodyńskiego, przyznawanej młodych ludziom, którzy „robią niezwykłe rzeczy i mogą być wzorem dla swoich rówieśników”.
W 2003 pojawił się w roli Mirosława „Newtona” w niskobudżetowej komedii wytwórni A’Yoy Baśń o ludziach stąd, użyczył głosu tytułowemu bohaterowi gry komputerowej Szymek czarodziej i poprowadził 47. galę rozdania Złotych Kaczek.
Lata 2004–2009 Wystąpił w roli podkomisarza Artura Banasia w serialu kryminalnym Glina (2004, 2008). Za „wyrafikowane poczucie humoru” odebrał statuetkę Grubej Ryby, przyznawaną przez słuchaczy Radia Kolor.