Professionista tra il 1941 e il 1953, conta la vittoria di due tappe al Giro d'Italia.

Carriera Originario di Catania, ma trasferitosi a Prato nel 1940 insieme al corregionale Giovanni Corrieri, fu attivo come professionista e indipendente dal 1941 al 1953. Corse per diverse squadre di marca, tra cui la Gloria, la Viscontea, la Benotto, la Bottecchia e la Guerra, distinguendosi come passista, soprattutto nelle corse a tappe.

Le principali vittorie da professionista furono due tappe al Giro d'Italia, una nel 1949 e una nel 1950; nel 1949 indossò la maglia rosa per tre giorni. Vinse anche il Giro di Romagna 1943 e una tappa al Giro della Provincia di Reggio Calabria 1945.

Palmarès 1943 (Viscontea, una vittoria) Giro di Romagna

1944 (Viscontea, una vittoria) Coppa Caldirola

1945 (Viscontea, una vittoria) 2ª tappa Giro della Provincia di Reggio Calabria (Siderno > Reggio Calabria)

1948 (Bottecchia/Rochet, quattro vittorie) Circuit de la Vienne 5 Voltas a Mafra Classifica generale Tour du Calvados Classifica generale Tour de Lorraine

1949 (Bottecchia/Sporting Clube de Portugal, tre vittorie) 1ª tappa Giro d'Italia (Palermo > Catania) 10ª tappa Volta a Portugal (Castelo Branco > Viseu) 14ª tappa, 2ª semitappa Volta a Portugal (Viana do Castelo > Braga)

1950 (Bottecchia, tre vittorie) 10ª tappa Giro d'Italia (Bolzano > Milano) 4ª tappa Volta a Portugal (Bragança > Guarda) 12ª tappa Volta a Portugal (Figueira da Foz > Aveiro)

1952 (Bottecchia, due vittorie) 7ª tappa Volta a Portugal (Évora > Loulé) 15ª tappa Volta a Portugal (Vila do Conde > Porto)

Altri successi 1947 (Viscontea) Circuito dos Campeões

1948 (Bottecchia/Rochet) 6ª tappa Tour de l'Ouest (Brest > Morlaix, cronosquadre)

1949 (Sporting Clube de Portugal) Circuito dos Campeões 24 Horas de Lisboa (con Félix Bermúdez García) Cinco voltas a Mafra Circuito da Malveira

1950 (Sporting Clube de Portugal) 24 Horas de Lisboa (con Félix Bermúdez García)

Piazzamenti Grandi Giri

Giro d'Italia 1946: 20º 1947: 31º 1949: 11º 1950: 47º 1951: 67º

Tour de France 1948: squalificato (1ª tappa)

Classiche monumento

Milano-Sanremo 1942: 26º 1943: 9º 1946: 14º 1949: 69º 1951: 75º 1953: 70º

Parigi-Roubaix 1947: 16º

Giro di Lombardia 1942: 30º 1947: 27º 1948: 19º

Collegamenti esterni