Professionista su strada dal 2005 al 2013, ha partecipato a quattro edizioni del Giro d'Italia. Su pista è stato campione nazionale in quattro discipline differenti, inseguimento individuale e a squadre, scratch e omnium, vincendo in totale cinque titoli. Su strada si è laureato campione d'italia nella categoria Élite nel 2004 a Pontedera.
Carriera Si rivelò già dalle categorie giovanili come uno dei migliori atleti nazionali, ottenendo successi in tutte le specialità. Gareggiò per quattro stagioni, dal 2001 al 2004, tra i Dilettanti Elite/Under-23, cogliendo numerosi successi internazionali e vincendo il titolo nazionale Elite senza contratto su strada nel 2004. Il suo approdo al professionismo è datato 2005, anno in cui vestì la maglia del Team Miche, ma già l'anno successivo passò al Team LPR di Orlando Maini, con cui vinse il Giro del Lago Maggiore, primo successo da pro.
Gareggiò poi con Tenax-Menikini e LPR Brakes, con la quale, nel 2009, colse la vittoria nella cronometro a squadre alla Settimana Ciclistica Lombarda. Nella stessa LPR Brakes si mise al servizio dei capitani, diventando uomo di fiducia di Paolo Savoldelli, Alessandro Petacchi e Danilo Di Luca. Passò poi con la De Rosa-Stac Plastic, sempre sotto al direzione di Fabio Bordonali, e infine, dal 2011 al 2013, con l'Androni Giocattoli di Gianni Savio, ma non colse altre vittorie. Partecipò comunque a quattro Giri d'Italia, nel 2008, 2009, 2011 e 2013, concludendoli tutti.
Su pista vinse ben tre titoli nazionali nel 2007, aggiudicandosi la prova di inseguimento individuale, inseguimento a squadre e scratch; nel 2013 i titoli nazionali vinti furono invece due, omnium e inseguimento a squadre. Nel 2007 e nel 2011 fu anche rappresentante azzurro nelle gare di inseguimento individuale e a squadre ai campionati del mondo su pista. Terminata l'attività su strada nel 2013, comincia a dedicarsi alla mountain bike, specialità cross country: nelle stagioni 2014 e 2015 corre per il Torpado Factory Team cogliendo diversi successi.
Palmarès Strada 1999 (Juniores) Trofeo G. Dorigo Juniors
2000 (Dilettanti) Coppa Ardigo
2002 (Dilettanti Elite/Under-23, Palazzago-Zoccorinese) Ruota d'Oro GP Industria Commercio Gran Premio Ezio Del Rosso
2003 (Dilettanti Elite/Under-23, Palazzago-Caneva-Zoccorinese) Memorial Gigi Pezzoni 3ª tappa Giro della Regione Friuli Venezia Giulia (Campoformido > Lignano Sabbiadoro) Gran Premio Somma
2004 (Dilettanti Elite/Under-23, Palazzago-Vellutex) Campionati italiani, Prova in linea Elite senza contratto 1ª tappa Volta Ciclista Internacional a Lleida (Lleida > Tremp) GP Industria Casini Giro del Valdarno Piccolo Giro di Lombardia
2006 (Team LPR, una vittoria) Giro del Lago Maggiore
Altre vittorie 2002 (Dilettanti Elite/Under-23, Palazzago-Zoccorinese) Criterium di Locarno
2003 (Dilettanti Elite/Under-23, Palazzago-Caneva-Zoccorinese) Classifica scalatori Giro della Valle d'Aosta
2009 (LPR Brakes-Farnese Vini) 1ª tappa Settimana Ciclistica Lombarda (Brignano Gera d'Adda, cronosquadre)
Pista 2007 Campionati italiani, Inseguimento individuale Campionati italiani, Inseguimento a squadre (con Claudio Cucinotta, Alessandro De Marchi, Matteo Montaguti) Campionati italiani, Scratch
2011 Campionati italiani, Inseguimento a squadre (con Omar Bertazzo, Alessandro De Marchi e Filippo Fortin) Campionati italiani, Omnium
Piazzamenti Grandi Giri Giro d'Italia 2008: 83º 2009: 138º 2011: 144º 2013: 151º
Classiche monumento
Milano-Sanremo 2006: 144º 2008: 122º 2009: ritirato 2011: ritirato
Parigi-Roubaix 2006: ritirato
Giro di Lombardia 2006: ritirato 2007: 27º 2011: ritirato 2012: ritirato
Competizioni mondiali Campionati del mondo su pista Palma di Maiorca 2007 - Inseguimento a squadre: 12º Palma di Maiorca 2007 - Inseguimento individuale: 19º Apeldoorn 2011 - Inseguimento a squadre: 15º Apeldoorn 2011 - Inseguimento individuale: 16º
Competizioni europee Campionati europei Apeldoorn 2011 - Inseguimento a squadre: 13°
Collegamenti esterni