Laureato in Storia e Filosofia, segue i corsi di sceneggiatura di Ugo Pirro, Leo Benvenuti e Robert Mc Kee e la scuola di recitazione di Aldo Giuffré. Si avvicina al cinema scrivendo per L’Unità e la rivista Movie. Dopo una serie di esperienze da aiuto regista con Tonino Valerii, Franco Giraldi, Damiano Damiani e Gianni Amelio, esordisce alla regia con i cortometraggi La sveglia (1994) e Coincidenze (1995), ottenendo per entrambi la partecipazione alla Mostra del Cinema di Venezia. Cura la regia di documentari, video e spot commerciali e debutta nel lungometraggio con Vite in sospeso (1998). Nello stesso anno collabora alla sceneggiatura del film Tano da morire, di Roberta Torre.
È del 2004 In un altro paese, film-documentario sui rapporti tra mafia e politica in Italia attraverso la ricostruzione delle vicende di Giovanni Falcone e Paolo Borsellino.
Nel maggio 2005 comincia le riprese del film La straniera, prodotto con il finanziamento del Ministero dei Beni Culturali e presentato al Torino Film Festival 2009 e al BIF&ST Bari International Film&Tv Festival 2009 dopo quattro anni di lavorazione; l’anno successivo dirige Rino Gaetano – Ma il cielo è sempre più blu, fiction in due puntate per Raiuno. L’ultimo lavoro C’era una volta la città dei matti…, con Fabrizio Gifuni e Vittoria Puccini è una fiction sulla vita dello psichiatra Franco Basaglia.