Comincia a lavorare come attore nel 1974 interpretando spettacoli per le scuole, con la Compagnia del Teatro Didattico IL TORCHIO diretta da Aldo Giovannetti. Si fa notare subito per la sua abilità di coinvolgere gli spettatori, anche adulti, nell'azione scenica. Nel 1981 recita nello spettacolo Voi noi e Campanile su testi di Achille Festa Campanile con la compagnia "Il Cerchio di Gesso" di Roma. Tra i suoi lavori figurano i film Pasolini, un delitto italiano (1995), regia di Marco Tullio Giordana e La cena (1998...visualizza tutto8), regia di Ettore Scola, per cui vince il Nastro d'argento come miglior attore non protagonista, la miniserie tv Questa è la mia terra (2006), diretta da Raffaele Mertes, e il film L'aria salata (2006), regia di Alessandro Angelini, per cui vince il David di Donatello 2007 come miglior attore non protagonista. Nel 2007 interpreta il ruolo del boss Vincenzo Neri nella serie televisiva di Canale 5 Distretto di polizia 7, con Massimo Dapporto, regia di Alessandro Capone e Davide Dapporto, prende parte alle miniserie tv di Rai 1 Rino Gaetano - Ma il cielo è sempre più blu, regia di Marco Turco, con Claudio Santamaria, e Liberi di giocare, con Pierfrancesco Favino, regia di Francesco Miccichè. Nel 2008 fa parte del cast della serie televisiva I liceali, mentre al cinema intepreta Salvo Lima nel film Il divo di Paolo Sorrentino. Nel 2009 prende parte a vari film: il drammatico Marpiccolo di Alessandro Di Robilant, il thriller La doppia ora, la commedia drammatica Ce n'è per tutti e l'intenso Alza la testa con Sergio Castellitto. L'anno successivo recita nel film La nostra vita per la regia di Daniele Luchetti, ne La banda dei Babbi Natale di Paolo Genovese e ancora ne La donna della mia vita, al fianco, tra gli altri, di Stefania Sandrelli. Nel 2012 è nel cast di Romanzo di una strage di Marco Tullio Giordana. Nel 2014 prende parte alla miniserie televisiva Non è mai troppo tardi interpretando il direttore del carcere minorile dove insegnò l'allora giovane maestro Alberto Manzi e appare anche nella fiction della Rai Braccialetti rossi. Nel 2015 è coprotagonista assieme ad Alessandro Haber del cortometraggio Il profumo delle stelle, scritto e diretto da Francesco Felli Nel 2016 è uno dei protagonisti della fiction di Rai 1 Tutto può succedere, con Licia Maglietta e Pietro Sermonti. Nel 2017 è nel cast di Brutti e Cattivi per la regia di Cosimo Gomez. In A Tor Bella Monaca non piove mai di Marco Bocci interpreta Gugliemo il capofamiglia.