Cresciuto nelle giovanili della Sampdoria, si affaccia in prima squadra a partire dalla stagione 1963-1964, nella quale disputa 3 incontri in campionato, realizzando una rete che permette ai blucerchiati di battere a San Siro il Milan, che poi risulterà decisiva per ammettere i liguri allo spareggio-salvezza poi vinto sul Modena[1].
Resta a Genova per altre due stagioni, senza riuscire a imporsi come titolare (16 presenze complessive in 3 stagioni). Alla fine della stagione 1965-1966, che vede la Sampdoria retrocedere in B per la prima volta nella sua storia, viene ceduto alla Reggiana, anch'essa militante in Serie B. In Emilia disputa tre annate in seconda serie: la prima da rincalzo, le successive da titolare.
Nel 1969 torna in Serie A per disputare, con la maglia del Bari, l'unico suo campionato di Serie A da titolare (26 presenze e 2 reti) della carriera, peraltro chiuso all'ultimo posto. Resta in Puglia per altre due stagioni in B, prima di trasferirsi, nel 1972, alla Casertana, in Serie C. Torna in B l'annata successiva passando all'Arezzo, con cui disputa le sue ultime stagioni ad alto livello (due in Serie B e due in Serie C).
In carriera ha totalizzato complessivamente 42 presenze e 4 reti in Serie A, e 206 presenze e 27 reti in Serie B.