E' nato a Cecina (Li) nel 1940.
Iscritto ad Alleanza Nazionale, è tuttora membro della segreteria nazionale del partito. Comincia l'attività politica nel 1970 ricoprendo l'incarico di consigliere comunale a Livorno e a Castelnuovo di Garfagnana. E' poi segretario regionale della Toscana fino al 1990. Nel 1994 è Ministro dell'Ambiente durante il primo governo Berlusconi. Dal 1983 è Deputato. Ha fatto parte di varie Commissioni parlamentari, tra le quali la Commissione trasporti, poste e telecomunicazioni, la Commissione speciale per le politiche comunitarie e la Commissione parlamentare d'inchiesta sul fenomeno della mafia e sulle associazioni criminali.
Alle consultazioni regionali del 16 aprile 2000 è il candidato capolista di Per la Toscana, la lista che ha ottenuto un numero di voti immediatamente inferiore a quelli del Presidente eletto: pertanto è proclamato eletto il 9 maggio 2000, ma ha presentato le dimissioni da consigliere il 15 maggio 2000 (il Consiglio regionale ne ha preso atto nella prima seduta del 24 maggio): è stato pertanto consigliere dal 9 al 15 maggio 2000 ed è stato sostituito da Jacopo Ferri dalla stessa seduta d'insediamento del Consiglio.