Débutant lors de la saison 1958-1959 avec Varese en Serie C, il dispute 33 matchs pour 10 buts, sans rien remporter, puis joue la saison suivante à Pise en Serie C, disputant 36 matchs pour 16 buts, sans rien remporter.
Il joue lors de la saison 1960-1961 avec le club de Serie B de Venise, avec qui il remporte le championnat de D2, disputant 29 matchs pour 9 buts. Il évolue par la suite pendant cinq saisons à Brescia, club de Serie B, avec 175 matchs pour 103 buts. Il remporte la Serie B en 1965 et termine meilleur buteur de D2 avec 20 buts. Il connaît lors de la saison 1965-1966 la Serie A, terminant 9e du championnat.
Il signe ensuite à la Juventus, où il reste deux saisons. Avec la Juve (y disputant son premier match le lors d'un succès contre Savone 1-0), il dispute 63 matchs et inscrit 22 buts, remportant le Scudetto en 1967. En 1968, il retourne à Brescia, club de Serie B, jouant 93 matchs pour 33 buts. Avec ce club, il finit vice-champion de Serie B en 1969 et meilleur buteur du championnat avec 18 buts. Il joue ensuite une dernière saison en Serie A, puis connaît une descente et termine sa carrière en 1972 après deux saisons en Serie B.
Il entraîne ensuite durant deux saisons le club de Tharros, de 1974 à 1976, en Serie D, mais ne peut empêcher la relégation en Promozione Sarda.