Cresciuto calcisticamente nel Lecco, squadra della propria città, venne acquistato a 17 anni dal Milan, società in cui tuttavia non ebbe modo di mettersi in luce, totalizzando solamente 15 presenze e 2 gol in massima serie nell'arco di quattro stagioni.
La sua esplosione avvenne con il trasferimento all'Atalanta, con la quale disputò quasi 200 partite siglando 38 gol, riuscendo anche a guadagnare una presenza in Nazionale. La partita in questione fu quella del 9 dicembre 1956 contro l'Austria, nella quale mise a segno i due gol della vittoria: nonostante questo exploit non venne più richiamato nella Nazionale maggiore.[4]
Dopo sette stagioni con la casacca neroazzurra venne ceduto alla Lazio prima, alla Vis Pesaro in Serie C poi, concludendo la propria carriera in Serie B nelle file del Lecco la stagione successiva.
Allenatore
È stato successivamente allenatore in Serie C e B con il Lecco Calcio dopo la promozione dalla C nel campionato 1971/1972 di Serie D, allenando tra le altre il Lecco, Crotone, il Giulianova ed il Marsala.
Statistiche
Cronologia presenze e reti in nazionale
Cronologia completa delle presenze e delle reti in nazionale ― Italia