Nel 1995 debutta nelle competizioni di livello internazionale prendendo parte al campionato europeo 125. Arriva quinto nel 1995, dodicesimo nel 1996 e secondo l'anno successivo dietro al francese Arnaud Vincent, ma davanti a piloti come Simone Sanna e Álvaro Molina.[2] Nelle tre stagioni di militanza nell'europeo vince complessivamente due gare e sale sette volte sul podio.
Negli stessi anni corre anche qualche gara nel motomondiale: l'unica sua stagione completa è il 1996, quando corre in classe 125 con una Honda del team Pileri. Nei successivi quattro anni non colleziona che qualche sporadica partecipazione come wild card. Da sottolineare, comunque, il punto iridato conquistato in classe 500 con il quindicesimo posto al Gran Premio di Germania del 2000 in sella alla Paton (casa con la quale collabora dal 1998 al 2000).
Nel 2002 intraprende la carriera delle gare di durata partecipando alla 200 miglia di Imola con una Ducati del team Biassono Racing in coppia con Rocco Anaclerio.[3] Nel 2003 prende parte a due prove Endurance in coppia con Lorenzo Mauri: arriva settimo a Imola e decimo a Vallelunga. Sempre con Ducati, in questa stagione è pilota titolare nel campionato italiano Stock1000 che chiude al diciannovesimo posto.
Dal 2004 diventa pilota del team X-One, squadra con la quale corre fino al 2009 in sella a Benelli e Yamaha. Il suo miglior risultato a fine stagione è il nono posto del 2009 conquistato (insieme a Ayrton Badovini e Willy Gruy) anche grazie alla seconda piazza alla 8 ore di Oschersleben a soli quattro giri di distacco dai vincitori.[4]