Nasce a Perugia nel 1974.
Inizia la sua formazione negli anni ’90: studia con il maestro Bruno De Franceschi sulla voce, flautofonia e canto armonico; con Julie Stanzack (P. Bausch) e Raffaella Giordano per il lavoro sul corpo e il teatro danza; con Danio Manfredini, Davide Enia, Pieraccini per il teatro e con Roberta Molinari e Mariangela Gualtieri per la scrittura teatrale.

A teatro ha lavorato con Dario Marconcini, Cesare Ronconi al Teatro Valdoca in Fuoco centrale, con Robert Wilson in g.a. story, Pippo Del Bono, con il quale partecipa allo studio preparatorio per lo spettacolo La Rabbia e, dal 1996, inizia la collaborazione con Giorgio Barberio Corsetti nella sua Compagnia Teatrale.
Nel 2004 ha ricevuto il premio Ubu come miglior attore under 30.
Nel 2009 porta in giro per l’Italia lo spettacolo Il popolo non ha il pane? Diamogli le brioche scritto con Stefania De Santis, in cui interpreta la parte di Amleto.
Nel 2011 è nei teatri con altri due lavori che lo vedono all’opera anche nella veste di regista: Favola. C’era una volta una bambina, e dico c’era perché ora non c’è più  e Giuliett’e Romeo. M’engolfi l’core, amore.

Alla carriera di attore teatrale, affianca fin da subito anche la carriera cinematografica: debutta nel film In principio erano le mutande di Anna Negri nel 1999 e arriva al grande pubblico con le pellicole Saturno contro di Ferzan Ozpetek (2007), Come Dio comanda di Gabriele Salvatores (2008), Vincere di Marco Bellocchio (2008), Vallanzasca – Gli angeli del male di Michele Placido (2010), Quando la notte di Cristina Comencini (2011) e Ruggine di Daniele Gaglianone (2011).
Come scrittore, il suo debutto risale al 2006, quando esce il suo primo romanzo Tuttal più muoio (Fandango), scritto a quattro mani con Edoardo Albinati, seguito da E lasciamole cadere queste stelle (Fandango, 2007), Peggio che diventare famoso (Garzanti, 2008) e Racconti Perugini (Midgard, 2009).