Był pułkownikiem Antonim Pakulskim w serialu Szpiedzy w Warszawie (2012), zrealizowanym przez brytyjską BBC i Telewizję Polską.

W styczniu 2013 znalazł się na okładce miesięcznika „Film” w mundurze Ryszarda Kuklińskiego, oficera Ludowego Wojska Polskiego, w którego wcielił się na planie dreszczowca szpiegowskiego Władysława Pasikowskiego Jack Strong (2014). Za rolę Kuklińskiego został doceniony przez krytyków i otrzymał nominację do nagrody Orła za najlepszą główną rolę męską. W filmie Jana Jakuba Kolskiego Serce, serduszko (2014) wcielił się w postać Mirka Milewskiego, alkoholika, który w imię miłości do córki Maszeńki podejmuje próbę wyjścia z nałogu. Następnie wystąpił jako Borys w dramacie Wojciecha Smarzowskiego Pod Mocnym Aniołem (2014) na podstawie powieści Jerzego Pilcha. Za kreację Grzegorza, wiecznie bezrobotnego i zapuszczonego męża Kasi (Gabriela Muskała) w tragikomedii Kingi Dębskiej Moje córki krowy (2015) o chorobie i śmierci otrzymał nominację do Orła za najlepszą drugoplanową rolę męską. W serialu kryminalnym HBO Pakt (2015) zagrał postać Piotra Grodeckiego, dziennikarza śledczego, który natrafia na trop oszustwa w międzynarodowej korporacji. W klimatycznym dreszczowcu Wojciecha Kasperskiego Na granicy (2016) zagrał bezwzględnego i przerażającego przemytnika Konrada.