Subito dopo il suo debutto sul grande schermo in Italia–Germania 4-3 (1990) di Andrea Barzini con Massimo Ghini, Giuseppe Cederna, Fabrizio Bentivoglio e Nancy Brilli, viene notato da Silvio Soldini che lo inserirà in molte delle sue pellicole, fra cui Pane e tulipani (2000), Agata e la tempesta (2004), Giorni e nuvole (2007), Il comandante e la cicogna (2012). Spesso diretto da Piergiorgio Gay, è apparso nel film di Roberto Benigni La tigre e la neve (2005), ma anche nel film di Peter Greenaway Peopling in the Palances at Venaria Reale (2007) e nei film di Carlo Mazzacurati La giusta distanza (2007), La passione (2009), La sedia della felicità (2013), per cui è stato candidato come miglior attore non protagonista ai David di Donatello.
Vincitore di due David di Donatello come miglior attore non protagonista per Pane e tulipani (2000) e Non pensarci (2007), per la regia di Gianni Zanasi, recita per Maurizio Zaccaro nella miniserie tv Al di là delle frontiere (2004) e nel film tv Lo smemorato di Collegno (2009). Entrato nel cast del telefilm La famiglia in giallo (2005) di Alberto Simone con Giulio Scarpati e Valeria Valeri, appare anche in La notte breve (2006), In nome del figlio (2008), Non pensarci – La serie (2009) di Lucio Pellegrini e Gianni Zanasi con Valerio Mastandrea e Tutti pazzi per amore (2008-2010). Nel 2011 torna sul grande schermo, partecipando al film di Giovanni Albanese Senza arte né parte, accanto a Vincenzo Salemme, al drammatico Io sono Li, di Andrea Segre, che gli vale un’ulteriore candidatura ai David, e alla commedia Bar sport, nella quale recita con Claudio Bisio. Torna a lavorare per Andrea Segre nel film La prima neve, ed è protagonista della commedia d’esordio del conterraneo Matteo Oleotto Zoran, il mio nipote scemo (2013), per il quale vince numerosi premi. Torna sul set con Zanasi nel film La felicità è un sistema complesso insieme con Mastandrea. Enorme il successo di Perfetti sconosciuti il film di Paolo Genovese – vincitore tra l’altro del Tribeca Film Festival di New York – che lo vede tra i protagonisti accanto a Rohrwacher, Giallini, Mastandrea, Smutniak. Hotel Gagarin girato in Armenia nei primi mesi del 2017 e il nuovo film di Andrea Segre, L’ordine delle cose, selezionato al Festival di Venezia.
In televisione la miniserie diretta da Angelini I fantasmi di Porto Palo e ancora tra i doppiatori del film d’animazione Il Piccolo Principe (2015). A teatro lavora costantemente diretto, fra gli altri, da Andò, De Rosa, Gallione e Martone.