Dopo gli studi all’Accademia di Arte Drammatica, nel corso degli anni settanta e ottanta si dedica al teatro, portando in scena spettacoli di Giorgio Pelloni, Meme' Perlini, Lorenzo Salveti, Ennio Coltorti. Parallelamente lavora in numerosi film e miniserie tv: Essere attore, per la regia di Corrado Augias, segna il suo debutto. Fra gli altri titoli si ricorda "Un Siciliano in Sicilia", "Un Cane Sciolto", "A che Punto è la Notte", "La Piovra 7", "Paolo Borsellino", "Sacco e Vanzetti", "La Freccia Nera".
Fantastic...visualizza tuttochini esordisce sul grande schermo nel 1982, con "Fuori dal Giorno" di Paolo Bologna. Nel 1989 lavora con Sergio Rubini ne "La Stazione" e con Gianni Amelio in "Porte Aperte". In quest’ultimo film interpreta il ruolo di Tommaso Scalia, conquistando una serie di riconoscimenti: Ciak d'Oro 1991, Nastro d'Argento (Miglior Attore Non Protagonista), European Film Awards (Scoperta dell'Anno) e il Premio Felix 1991. Nel 1996, con "Ferie d'Agosto" di Paolo Virzì, ottiene una nomination per il David di Donatello. Nel ’98 gira "Vite in Sospeso" di Marco Turco, "Il Corpo dell’Anima" di Salvatore Piscicelli, "Senza Movente" di Luciano Odorisio. Torna a lavorare con Piscicelli nel 2002, interpretando "Alla Fine della Notte". Nello stesso anno è nel cast di "Rosa Funzeca", diretto da Aurelio Grimaldi. Nel 2006 è nel cast di "Saturno Contro" di Ferzan Ozpetek e "Notturno Bus" di Davide Marengo.