Carriera Nato nel 1945 a Valdengo, in provincia di Biella, da dilettante ottenne alcuni successi, tra i quali una tappa al Cinturón Ciclista Internacional a Mallorca, in Spagna, nel 1966, mentre nel 1969 prese parte alla cronometro a squadre Dilettanti ai Mondiali, a Brno, arrivando 13º in 2h12'19"3, insieme ad Arcangelo Locatelli, Ledio Menini e Giuseppe Rosolen.
Passò professionista nel 1970, a 25 anni, con la Germanvox-Wega. Proprio nel suo anno d'esordio ottenne la sua unica vittoria da professionista, conquistando la prima semitappa dell'ottava tappa della Parigi-Nizza, 108 km da Seillans a Nizza, ultima frazione in linea della corsa. Nello stesso 1970 partecipò al suo primo Giro d'Italia e alla sua unica Vuelta a España, ritirandosi in entrambi i casi.
Con la chiusura della sua precedente squadra, nel 1971 passò alla Scic, con la quale prese parte al suo unico Tour de France, chiudendolo al 78º posto.
Rimasto alla Scic anche nella stagione 1972, nel 1973 si trasferì invece alla Zonca, dove rimase per quattro stagioni, fino al 1976, esordendo alla Milano-Sanremo (130º nel 1973 e 70º nel 1975) e correndo altri quattro Giri d'Italia, stavolta portandoli tutti a termine, con il 30º posto del 1975 come miglior piazzamento in classifica generale.
Chiuse la carriera nel 1977, a 32 anni, dopo una stagione alla Selle Royal, dove si piazzò 106º nel suo sesto Giro d'Italia e 120º alla Milano-Sanremo.
Dopo il ritiro fu direttore sportivo della squadra dilettantistica piemontese dell'Overall, collaborò con Telebiella per i servizi dedicati al ciclismo e creò una società in ambito televisivo, oltre ad aprire un'officina da elettrauto a Cerreto Castello.
Morì nel 2013, a 67 anni, a causa di un tumore. Alla sua memoria è intitolata una corsa ciclistica giovanile.
Palmarès 1966 (dilettanti) 5ª tappa Cinturón Ciclista Internacional a Mallorca
1968 (dilettanti) 8ª tappa 2ª semitappa Giro delle Antiche Romagne (Gabicce Mare > Ravenna)
1969 (dilettanti) 6ª tappa Giro del Piemonte dilettanti (Fossano > Alba, cronometro) Trofeo Papà Bertolino
1970 (Germanvox-Wega, una vittoria) 8ª tappa 1ª semitappa Parigi-Nizza (Seillans > Nizza)
Altri successi 1967 (dilettanti) Circuito Pievese
1968 (dilettanti) Circuito Bassignanese
Piazzamenti Grandi Giri
Giro d'Italia 1970: ritirato 1973: 67º 1974: 38º 1975: 30º 1976: 51º 1977: 106º
Tour de France 1971: 78º
Vuelta a España 1970: ritirato (17ª tappa)
Classiche monumento Milano-Sanremo 1973: 130º 1975: 70º 1977: 120º
Competizioni mondiali Campionati del mondo Brno 1969 - Cronometro a squadre Dilettanti: 13º
Note
Collegamenti esterni