Jest jednym z najpopularniejszych polskich aktorów.
Jako aktor teatralny debiutował w 1994 rolą Jimmy’ego Portera w sztuce Johna Osborne’a "Miłość i gniew" na scenie Teatru Powszechnego w Warszawie. Z tym teatrem był związany w latach 1995–1996. Jego debiutem filmowym była rola młodego robotnika w filmie historycznym Filipa Bajona "Poznań 56".
Ogólnopolską popularność zdobył dzięki roli Jana Skrzetuskiego w filmie Jerzego Hoffmana "Ogniem i mieczem" . Zagrał również główną rolę w filmie Andrzeja Wajdę "Pan Tadeusz".
W jego dorobku znajdują się również takie filmy jak: "Wiedźmin", "Stara baśń. Kiedy słońce było bogiem", "Pręgi", "Rok 1612", "Janosik. Prawdziwa historia" czy "Sęp". W 2011 roku dołączył do obsady serialu "Na dobre i na złe", w którym wcielił się w profesora Falkowicza. W kolejnych latach grał w filmach "1920 Bitwa Warszawska" , "Nad życie" , "Tajemnica Westerplatte" , "Facet (nie)potrzebny od zaraz", "Gwiazdy w czerni", "Wszystko albo nic".
Za rolę Geralta z Rivii, w filmie "Wiedźmin" został nominowany do nagrody Orła w kategorii najlepsza główna rola męska.
Jest trzykrotnym laureatem Telekamery (2015, 2016, 2017) oraz Złotej Telekamery (2018) w kategorii Najlepszy aktor. Dwukrotnie został wyróżniony za swoją pracę Złotą Kaczką.
Od 2010 roku jest dyrektorem warszawskiego Teatru 6. Piętro.
