Proveniente da una famiglia di idee progressiste, fu membro del Partito Comunista Italiano, ragione per cui dovette scontare un lungo confino in Basilicata durante il regime fascista. Nel 1956 abbandonò il PCI in seguito ai fatti di Ungheria, spostandosi su posizioni libertarie e riformiste. Fu eletto deputato per la prima volta nella IV legislatura della Repubblica Italiana alla Camera dei deputati nel 1963 per il Partito Socialista Democratico Italiano di Saragat. Successivamente, fra il 1968 e il 1976, è stato rieletto nella V e VI Legislatura per il Partito Socialista Unificato e infine per il Partito Socialista Italiano. Fu dunque nominato sottosegretario di stato nel Governo Rumor I alla Pubblica Istruzione; nel Governo Rumor III a Grazia e Giustizia; nel Governo Colombo a Grazia e Giustizia; nel Governo Rumor IV alla Difesa.