Carriera Da dilettante fece parte, nel 1948, delle selezioni italiane impiegate nella prova in linea ai Giochi olimpici di Londra e ai Campionati del mondo di Valkenburg; nella categoria dilettantistica raccolse numerosi risultati con i colori del G.S. Vilco di Bologna, in particolare nel 1949 quando oltre ad aggiudicarsi il Giro di Puglia e Lucania a tappe concluse al secondo posto il Trofeo Matteotti battuto solo da Giuseppe Minardi.
Passato professionista nel 1950 con la Arbos, mise subito in mostra ottime qualità ottenendo risultati nelle classiche del panorama italiano: spiccano la vittoria del Giro di Romagna, battendo Giorgio Albani, il terzo posto alla Milano-Torino e il quinto al Giro dell'Emilia. Nel 1953 si trasferì alla Ganna di Fiorenzo Magni col quale partecipò al sia Giro d'Italia, che (in maglia azzurra) al Tour de France; nella grande corsa francese conquistò il suo alloro più prestigioso vincendo la settima tappa con arrivo a Nantes dopo una fuga in compagnia di altri sei corridori.
Nel 1954 vinse due tappe e concluse al secondo posto la classifica generale del Giro di Sicilia dietro Ugo Massocco e fu terzo al Trofeo Matteotti ottenendo lo stesso risultato dell'anno precedente in questa gara. Dopo un 1955 non particolarmente fortunato anche a causa di piccoli problemi fisici che lo costrinsero all'inattività per diversi mesi, non trovando nuovi ingaggi decise di concludere la carriera ciclistica. Successivamente emigrò in Canada dove svolse la professione di idraulico.
Morì nella sua casa di Hamilton nel 1999 dopo una lunga malattia.
Palmarès
1947 (G.S. Vilco Bologna, dilettanti) Salsomaggiore-Bologna
1949 (G.S. Vilco Bologna, dilettanti) Coppa Giulio Burci 6ª tappa Giro di Puglia e Lucania (Bari > Potenza) 8ª tappa Giro di Puglia e Lucania (Foggia > San Severo) Classifica generale Giro di Puglia e Lucania
1950 (Arbos, una vittoria) Giro di Romagna
1951 (Arbos, una vittoria) Coppa Porto San Giorgio
1952 (Arbos, due vittorie) Gran Premio Ceramisti di Ponzano Magra 8ª tappa Vuelta a Castilla (Toledo > Tomelloso)
1953 (Ganna, due vittorie) 7ª tappa Tour de France (Le Mans > Nantes) 7ª tappa Giro di Sicilia (Trapani > Palermo)
1954 (Nivea, due vittorie) 1ª tappa Giro di Sicilia (Palermo > Sciacca) 5ª tappa, 2ª semitappa Giro di Sicilia (Messina > Castroreale)
Altri successi 1952 (Arbos) Coppa Vallari
1953 (Ganna) Coppa De Santi
Piazzamenti Grandi giri
Giro d'Italia 1950: ritirato (8ª tappa) 1951: ritirato 1952: 28º 1953: 40º 1954: fuori tempo massimo (20ª tappa)
Tour de France 1953: 42º
Classiche monumento
Milano-Sanremo 1950: 51º 1951: 27º 1952: 37º 1953: 18º 1954: 64º
Giro di Lombardia 1951: 62º
Competizioni mondiali
Campionati del mondo Copenaghen 1949 - In linea dilettanti: 31º
Giochi olimpici Londra 1948 - In linea: 20º
Collegamenti esterni