Attore e regista. Si diploma alla fine degli anni ‘80 alla Bottega di Gassman. Dopo alcune esperienze con Franco Però, Giancarlo Sepe, Aldo Trionfo, Chérif, Imogen Kusch è selezionato da Peter Stein per il Tito Andronico di Shakespeare allo Stabile di Genova, dove rimane alcune stagioni ricoprendo ruoli di primaria importanza in spettacoli di Benno Besson e Marco Sciaccaluga.

Nel 1997 Gassman lo richiama per Bugie sincere, al Teatro Stabile del Friuli. Collabora inoltre con Federico Tiezzi, Marco Carniti e Patrick Rossi Gastaldi. Nel 2001 è Onegin al Teatro Stabile di Torino con la regia di Daniele Salvo, Roberto Zucco per la regia di Chérif, al Teatro Stabile delle Marche, Giasone con Peter Stein nella Medea di Euripide, andata in scena a Siracusa nel 2004. Col Piccolo di Milano interpreta il ruolo del reverendo nel Professor Bernhardi di Schnitzler, del Corifeo ne Le Rane, di Coronato ne Il Ventaglio di Goldoni, partecipa alla messa in scena del Sogno di una notte di mezza estate e del Mercante di Venezia di Shakespeare e di Santa Giovanna dei macelli di Bertolt Brecht tutti per la regia di Luca Ronconi. Sempre al Piccolo lavora con Carmelo Rifici ne I pretendenti di Lagarce e in Detteagli di Lars Noren e con Serena Sinigaglia ne La cimice di Majakovskij.

È coprotagonista di Sostiene Pereira di Tabucchi, con Paolo Ferrari, regia di Teresa Pedroni. Interpreta Edgar nel Re Lear, Bruto nel Giulio Cesare, Iago nell’Otello e Claiban ne La Tempesta a fianco di Giorgio Albertazzi, messi in scena al Globe Theatre di Roma, per la regia di Daniele Salvo da cui è diretto anche in Siamo tutti in pericolo, ultima intervista di Pier Paolo Pasolini e Gramsci a Turi di Antonio Tarantino presentato al Festival di Napoli nel 2010. Del 2011 è Un angelo sopra Bagdad di Judith Tompson per la regia di Marco Carniti presentato al Piccolo Teatro di Milano e al Teatro India a Roma. Sempre con Carniti è Jaques in Come vi piace al Globe. Nella stagione 2012/2013 interpreta Helmut Rode in La torre d’avorio di Ronald Harwood per la regia di Luca Zingaretti e frate Lorenzo in Romeo e Giulietta diretto da Gigi Proietti. Nel 21014 è impegnato con Galatea Ranzi ne La fata matematica scritto e diretto da Valeria Patera e in Romeo & Giulietta diretto da Gigi Proietti. Nel 2015 è impegnato in Der Park di Botho Strauss per la regia di Peter Stein, in Otello per la regia di Marco Carniti che lo dirige anche nel 2016 in La divina Sarah. Nell’ultima stagione ha portato in scena Riccardo II sempre con la regia di Peter Stein.

In campo cinematografico e televisivo partecipa a varie produzioni tra cui Il principe di Homburg di Marco Bellocchio, Quando ancora non c’erano i Beatles di Marcello Aliprandi, Il commissario Montalbano di Alberto Sironi, Disperatamente Giulia di Enrico Maria Salerno, Onora il padre di Gianpaolo Tescari, La repubblica di San Gennaro e Vuoti a perdere di Massimo Costa, Romanzo di una strage di Marco Tullio Giordana, La scoperta dell’alba di Susanna Nicchiarelli, La dama velata di Carmine Elia, Squadra Mobile 2 di Alexis Sweet, L’ispettore Coliandro – Il ritorno dei Manetti Bros, Il nome della rosa di Giacomo Battiato, Gli sdraiati di Francesca Archibugi.

Da alcuni anni svolge attività di insegnamento in varie scuole di teatro e attraverso laboratori successivi arriva alla messa in scena de Gli innamorati di Carlo Goldoni, O di uno o di nessuno di Luigi Pirandello e Camere da letto di Alan Ayckburn, quest’ultimo promosso da Prize4life, associazione benefica che raccoglie fondi per la lotta alla SLA. Da anni inoltre è parte del corpo docente di Parkinzone che svolge attività di Teatroterapia.