Aveva il ruolo di terzino di difesa. Ebbe una carriera condizionata da numerosi infortuni che gli diedero un ritmo di prestazione altalenante. Ma quando venne chiamato in causa, riuscì a fornire un valido contributo.
Nella sua carriera vestì le maglie di Arona (1947-1948), Legnano (1948-1949), Lucchese (1949-1950), Inter (1950-1955), Torino (1955-1956, in prestito[6]) e Marzotto (1956-1958). Con l'Inter conquistò due scudetti consecutivi nelle stagioni 1952-53 e 1953-54.
Ha totalizzato complessivamente 144 presenze e 2 reti in Serie A e 81 presenze e 1 rete in Serie B.