Nato a Sesto Fiorentino (FI) il 7 marzo 1949, dove abita, ha conseguito la licenza media ed è impiegato in una industria privata. Consigliere comunale a Sesto dal 1975 al 1995, prima del PCI poi del PDS, ne è stato sindaco dal 1985 al 1995. Negli anni 1983-1985 è stato nominato consigliere nel comitato di gestione della USL 10/D di Firenze. Dal 1986 al 1993 è stato presidente del consorzio di bonifica della Piana di Sesto.
Alle consultazioni regionali del 23 aprile 1995 si presenta nella lista PDS ed è eletto nella circoscrizione provinciale di Firenze con 3.360 voti di preferenza. E' stato presidente della commissione Sanità e membro della commissione speciale per l'Occupazione e il lavoro.
Alle consultazione elettorali del 16 aprile 2000 si presenta nella lista DS ed è eletto nella circoscrizione provinciale di Firenze con 8.921 voti di preferenza. E' stato vicepresidente del Consiglio regionale fino a marzo 2001, membro della commissione Sanità e della commissione speciale Statuto. Dimesso il 6 maggio 2003 (e sostituito da Alessia Petraglia) è stato reintegrato nella carica di consigliere regionale il 6 novembre 2004 ed è entrato a far parte della commissione Attività culturali e turismo. Aderisce al gruppo Democratici di sinistra- Toscana democratica.