Arbitro dal 1969, dopo undici anni di direzioni nella Lega Dilettanti, scalata fino alla Serie D, nel 1980 passa a disposizione della C.A.N. dirigendo nei campionati di Serie C1 e C2. Nel 1985 è promosso in Serie B; la prima direzione nel campionato cadetto avviene ad Arezzo il 15 settembre 1985 nell'incontro - terminato 1-1. In otto stagioni conta 56 direzioni di gara in Serie A, 88 in Serie B e 27 direzioni in Coppa Italia. Ha esordito nella massima serie all'età di 36 anni, durante la stagione 1985-1986, il 13 aprile 1986 dirigendo la partita - (2-0). Ha chiuso la carriera di arbitro nel 1993. La sua ultima direzione in Serie A è stata in - del 30 maggio 1993, terminata 1-1.