Nato a Cinigiano (Grosseto) il 6 dicembre 1942, è residente a Bagno a Ripoli (FI). Laureato in psicopedagogia, è funzionario del servizio sanitario. Sindacalista, è membro della segreteria regionale RDB di cui è stato anche responsabile regionale. E’ presidente dell’associazione di volontariato “Croce d’oro” di Ponte a Ema e segretario del circolo PRC dell’Antella. Eletto nel 1999 al consiglio comunale di Bagno a Ripoli, ne è stato vicepresidente.
Alle consultazioni regionali del 16 aprile 2000 si presenta nella lista Partito della Rifondazione Comunista ed è eletto nella circoscrizione provinciale di Firenze con 1.422 voti di preferenza. E’ membro della commissione consiliare Sanità e della commissione speciale Lavoro. E’ vicepresidente della commissione speciale Statuto e della commissione speciale per l’elaborazione del nuovo Regolamento interno del Consiglio e della normativa elettorale; è membro della commissione speciale Nomine.
Aderisce al gruppo Partito della Rifondazione Comunista, di cui è il presidente.