Nato a Fivizzano (Massa) l’8 maggio 1951, abita a Firenze.
Laureato in scienze politiche, è dottore commercialista. È presidente del Credito cooperativo fiorentino. Cultore di storia economica, ha approfondito gli studi su banca e moneta.
Alle consultazioni regionali del 23 aprile 1995 si presenta nella lista Forza Italia-Polo Popolari ed è eletto nella circoscrizione provinciale di Firenze con 2.856 voti di preferenza. E' stato vicepresidente del Consiglio regionale, membro della commissione Attività produttive e della commissione di Vigilanza.
Alle consultazioni regionali del 16 aprile 2000 si presenta nella lista Forza Italia ed è eletto nella circoscrizione provinciale di Firenze, con 7.166 voti di preferenza. è stato vicepresidente del Consiglio regionale, membro della commissione Affari istituzionali e della commissione speciale Statuto. Si è dimesso da consigliere nel 2001 a seguito della sua elezione alla Camera dei Deputati: è subentrato al suo posto, il 4 luglio 2001, Paolo Marcheschi. Ha aderito al gruppo Forza Italia.
Alle consultazioni elettorali del 3, 4 aprile 2005 è eletto nella circoscrizione di Firenze per la lista di Forza Italia ma ha rassegnato le dimissioni da consigliere regionale per incompatibilità con la carica di parlamentare: è stato surrogato da Angelo Pollina nella prima seduta consiliare il 5 maggio 2005.