Cresciuto nel Real San Marco di Venezia, esordì con la maglia del Venezia nel campionato di Serie C 1968-1969. Passò al Varese nel 1969 in Serie B, campionato in cui disputò solo una gara. Una presenza anche la stagione successiva in Serie A, in cui esordì il 24 gennaio 1971 in Foggia-Varese (2-2).
Dopo un campionato in B con il Cesena, ritornò a Varese, giocando da titolare due campionati in Serie B. Nel 1974 il passaggio al Milan, con cui disputò 87 gare ufficiali tra campionato e Coppe, realizzando due reti. In una intervista nel 2013 ha svelato che dopo il famoso pugno sferratogli al volto dal calciatore della JuventusSilvio Longobucco in un Milan-Juventus del 1975 pochi giorni dopo ricevette una telefonata anonima di intimidazione che lo convinse a non adire le vie legali contro il giocatore.
Trascorse in rossonero tre stagioni, fino al 1977, quando passò al Monza.