Cresciuto nella Cremonese, con cui ha esordito in Prima Divisione, è passato nel 1927-1928 al Milan e vi ha giocato da titolare fino al 1935-1936. Ha poi chiuso con un biennio tra Sampierdarenese e Cremonese. In seguito ha allenato la Torrese nel campionato di Serie C 1945-1946 e nel campionato di Serie B 1946-1947, portando la società napoletana, all'apice della sua storia dall'istituzione del girone unico, conquistando il sesto posto del campionato cadetto.