Professionista dal 1961 al 1978, vinse ventuno tappe al Giro d'Italia e quattro al Tour de France; nel suo palmarès figurano anche due edizioni del Giro di Lombardia, tre titoli nazionali su strada e due nel ciclocross, la medaglia d'argento ai campionati del mondo su strada 1972 e quella di bronzo nell'edizione 1977.