Si mise in luce da dilettante, ottenendo diverse vittorie e piazzamenti di rilievo (spiccano, nel 1998, una vittoria di tappa al Baby Giro e il secondo posto al Gran Premio Palio del Recioto) e conquistando anche la maglia azzurra per la prova in linea Under-23 dei mondiali di Valkenburg 1998.
Nel 2002 consegue il successo più importante, la dodicesima tappa del Giro d'Italia dopo una lunga fuga: nel finale stacca i compagni di avventura giungendo da solo sul traguardo di Chieti[1]; finisce inoltre al nono posto la Settimana Ciclistica Lombarda.
Nel 2003 passa all'Alessio e ottiene due vittorie tra cui una tappa al Giro d'Abruzzo, che conclude al secondo posto della generale; si piazza inoltre ottavo al Brixia Tour. Nel 2004 è inattivo, e a fine anno annuncia l'addio all'attività agonistica per gravi problemi fisici[2].