Cresciuto a Livorno, città d'origine della madre, iniziò la propria carriera nel 1991, con la cosceneggiatura del film Condominio di Felice Farina.
Dal 1994, scrisse le sceneggiature dei film del regista Paolo Virzì, tra cui La bella vita, Ferie d'agosto, Ovosodo, Baci e abbracci, My Name Is Tanino, Caterina va in città, N (Io e Napoleone),e Tutta la vita davanti.
Inoltre, scrisse le sceneggiature dei film del regista Mimmo Calopresti, tra cui La seconda volta, La parola amore esiste, Preferisco il rumore del mare, La felicità non costa niente, dal 1995 al 2003.
Ha lavorato con altri registi, tra cui Franco Bernini, David Riondino, Francesca Comencini, e i comici Ficarra e Picone.
Ha collaborato alle sceneggiature de I Viceré di Roberto Faenza, tratto dall'omonimo romanzo di Federico De Roberto, e del film, in uscita nel 2008, Miracle at St. Anna, di Spike Lee.
Ha anche contribuito al soggetto del lungometraggio in quattro episodi 4-4-2 - Il gioco più bello del mondo, prodotto da Paolo Virzì.
Per la televisione, ha adattato per la serie del Commissario Montalbano, i racconti e romanzi di Andrea Camilleri, e per la serie Il commissario De Luca, quelli di Carlo Lucarelli.
Ha inoltre sceneggiato il film TV Il tunnel della libertà, per la regia di Enzo Monteleone.
Come attore, ha recitato in una piccola parte nel film La guerra degli Antò di Riccardo Milani (1999).
Insegna sceneggiatura presso il Centro sperimentale di cinematografia di Roma.
Nel 2011 esordì alla regia con Scialla!, presentato al Festival di Venezia 2011 nella sezione Controcampo Italiano, dove venne riconosciuto con il premio per i lungometraggi narrativi.