Passista evelocista, era un corridore combattivo e grintoso, amante delle fughe da lontano: il giornalistaGianni Mura lo definì «un sognatore nomade»[2].
Cominciò l'attività dividendosi, come da lui stesso dichiarato, tra il ciclismo e la professione dimuratore.[2] Il 1º settembre 1963, tra i dilettanti, si laureòcampione italiano su strada; passò professionista pochi giorni dopo, appena ventunenne, con laMolteni diretta daGiorgio Albani.[1] Il primo successo arrivò il 5 aprile1964, al Circuito di Col San Martino.[3]
Nel 1965 – stagione in cui fece sue 13 corse –[3] e nel 1966 vinse per due volte il campionato nazionale su strada in linea, mentre giunse secondo nel 1967 e terzo nel 1968 e nel 1972.[1] In carriera si aggiudicò inoltre due importanticlassiche, laFreccia Vallone 1966 ed il 19 marzo 1970[3] laMilano-Sanremo, grazie a una fuga solitaria di 70 chilometri.[2] Fu la vittoria che riportò gli italiani al successo nella "Classicissima" diciassette anni dopo l'ultima affermazione, quella diLoretto Petrucci nel1953.[1]
AlGiro d'Italia 1970, vinto daEddy Merckx, si piazzò al quarto posto, suo miglior risultato, giungendo peraltro secondo nellaclassifica a punti;[2] partecipò complessivamente a nove edizioni dellaCorsa Rosa, mettendo in palmarès 11 tappe, quattro solo nel 1970, e indossando lamaglia rosa di leader per 14 giorni.[1] Nel1969 partecipò per la prima e unica volta alTour de France, classificandosi ventesimo con una vittoria di tappa,[2] mentre nel 1972 fu terzo alGiro di Svizzera, aggiudicandosi anche la speciale graduatoria a punti.[1]
Abbandonato il ciclismo agonistico, si è dedicato per un po' di tempo ad un'attività immobiliare e successivamente all'organizzazione di escursioni per cicloamatori.[4]