Nasce a Palermo nel 1967. Diplomato all’Accademia Nazionale d’Arte Drammatica Silvio d’Amico, si afferma sul grande schermo con: I cento passi e La meglio gioventù diretti da Marco Tullio Giordana, Noi credevamo diretto da Mario Martone, Il più bel giorno della mia vita e La bestia nel cuore di Cristina Comencini, La vita che vorrei di Giuseppe Piccioni, Il dolce e l’amaro di Andrea Porporati, Buongiorno notte diretto da Marco Bellocchio, Il capitale umano con la regia di Paolo Virzì, I nostri ragazzi diretto da Ivano De Matteo, Il nome del figlio diretto da Francesca Archibugi. Prende parte inoltre a Smetto quando voglio – Masterclass e al sequel Smetto quando voglio – Ad Honorem diretti entrambi da Sydney Sibilia e al film Il mangiatore di pietre di Nicola Bellucci, Spaccaossa diretto da Vincenzo Pirrotta, La stranezza diretto da Roberto Andò, Chiara diretto da Susanna Nicchiarelli. Nel 2012 debutta alla regia con La città ideale, presentato alla Settimana Internazionale della Critica all’interno della 69° Mostra Internazionale d’Arte Cinematografica di Venezia e per il quale nel 2013 viene nominato ai David di Donatello e ai Nastri d’Argento come Miglior Regista Esordiente. Con il film Il Traditore diretto da Marco Bellocchio, partecipa come unico film italiano in concorso alla 72ª edizione del Festival di Cannes ed è stato inoltre scelto per rappresentare l’Italia ai Premi Oscar 2020. Grazie alla sua interpretazione del pentito di mafia Salvatore Contorno vince il Nastro d’Argento e il David di Donatello come miglior attore non protagonista. Nel Settembre 2018 pubblica il suo primo libro Ogni ricordo un fiore edito da Feltrinelli. Nella stagione 2018/2019 porta in scena due spettacoli Delitto/Castigo e Dracula entrambi diretti da Sergio Rubini. Nel 2020 è il protagonista insieme ad Alba Rohrwacher del film Lacci diretto da Daniele Luchetti presentato alla 77ª Mostra internazionale d’arte cinematografica di Venezia come film d’apertura fuori concorso. Nel 2022 interpreta lo scrittore e mirmecologo Aldo Braibanti nel film Il signore delle formiche di Gianni Amelio, candidato in concorso alla 79° Mostra internazionale d’arte cinematografica di Venezia per il quale viene candidato ai David di Donatello e ai Nastri d’Argento come miglior attore protagonista. Partecipa inoltre ai film Spaccaossa di Vincenzo Pirrotta, La stranezza di Roberto Andò e Chiara di Susanna Nicchiarelli. Nella stagione 2022/2023 porta in scena lo spettacolo PA’ diretto da Marco Tullio Giordana e in seguito lo spettacolo Gilgamesh. L’epopea di colui che tutto vide scritto e diretto da Giovanni Calcagno. Nel 2022 è inoltre il protagonista della serie The Bad Guy diretta da Giancarlo Fontana e Giuseppe G. Stasi e distribuita su Amazon Prime Video in cui interpreta il magistrato Nino Scotellaro che assumerà poi l’identità di Balduccio Remora. Nel 2023 è il protagonista insieme ad Alessandro Borghi del film Delta diretto da Michele Vannucci e pubblica il suo secondo libro Storielle per granchi e per scorpioni edito da Feltrinelli. Vincitore di molti premi tra cui nel 2001 il David di Donatello come Miglior Attore Protagonista per I cento passi e Coppa Volpi per la migliore interpretazione maschile in Luce dei miei occhi con la regia di Giuseppe Piccioni, nel 2004 il Nastro d’Argento come miglior attore protagonista per La meglio gioventù, nel 2019 il Nastro d’Argento come miglior attore non protagonista per Il Traditore e nel 2020 il David di Donatello come miglior attore non protagonista sempre per Il Traditore.