Nasce da una famiglia operaia di sinistra e il nonno materno è partigiano e segretario della sezione comunista di Arrone.
Perito chimico, insegna ma a 23 anni è operaio alle Acciaierie di Terni.
L’interesse per la politica, sviluppato sia in fabbrica sia fuori, lo porta ad essere consigliere per il Pci dal 3 giugno 1985 al 21 marzo 1990, ad essere eletto anche alle successive amministrative in una Lista civica del Pds e a ricopre la carica di assessore supplente dal 15 giugno 1990 al 24 aprile 1995 durante la prima sindacatura di Domenico Rosati. È consigliere comunale per il Centro-sinistra (Liste civiche) anche nelle due successive legislatura, sempre con il sindaco Rosati, dal 24 aprile 1995 al 14 giugno 1999 e dal 2 luglio 1999 al 14 giugno 2004, ricoprendo la carica di assessore alla cultura, scuola, sport e azienda elettrica. Viene quindi eletto sindaco per le successive tre legislature, completando sempre il mandato, candidato prima dei Ds, poi della coalizione di centro-sinistra “Uniti per la Valnerina” e quindi delle Lista civica “Democratici riformisti per Arrone”.
Nel 2007 è tra i fondatori del Partito democratico, come l’attuale sindaco Fabio Di Gioia.
Storico elezioni comunali di Arrone, https://www.tuttitalia.it/umbria/66-arrone/storico-elezioni-comunali/ (consultato il 27 aprile 2021)
Governo italiano, Ministero dell'Interno, Dipartimento per gli affari interni e territoriali, Anagrafe degli amministratori locali e regionali, https://amministratori.interno.gov.it/amministratori/ServletNomeReg, sub voce (consultato il 27 aprile 2021).