Karierę rozpoczął w 2001. W peletonie znany był jako jeden z najlepszych górskich gregario (pol. pomocników), specjalizował się w jeździe po górach. W swojej karierze rozpoczął i ukończył 23 Grand Tourów. W 2004 roku startował na igrzyskach olimpijskich w Atenach.
Swoje pierwsze zwycięstwo etapowe w zawodowej karierze odniósł 11 czerwca 2009 podczas wyścigu Critérium du Dauphiné wygrywając jego 5. etap po morderczej wspinaczce na legendarny podjazd Mont Ventoux.

Pełny przebieg kariery na cqranking

2001 (Tacconi Sport-Vini Caldirola):
6. TOUR DE POLOGNE {kategoria 2.3}
9. GP Llodio {kat. 1.4}
16. Tour de Luxembourg {kat. 2.2}
2002 (Tacconi Sport-Emmegi):
3. Trofeo Immobiliare Italia di Fred Mengoni {kat. 1.3}
29. VUELTA a ESPANA {kat. GT = Wielkie Toury}
44. GIRO d’ITALIA {kat. GT}
2003 (Mercatone Uno-Scanavino):
8. Giro del Trentino {kat. 2.2}
14. Giro dell’Appennino (kat. 1.2}
20. GP Industria e Commercio di Prato (kat. 1.2}
24. GIRO d’ITALIA {kat. GT}
2004 (Saeco):
2. GP Schwarzwald {kat. 1.3}
4. Japan Cup {kat. 1.3}
12. Vuelta a Aragon {kat. 2.2}
13. TOUR de ROMANDIE {kat. 2.HC = najwyższa}
43. GIRO d’ITALIA {kat. GT}
74. VUELTA a ESPANA {kat. GT}
* Dużymi literami wyścigi od tego roku zaliczane do Pro Touru.
2005 (Lampre-Caffita):
19. Vuelta a Murcia (kat. 2.1)
21. Semana Catalana (kat. 2.HC)
40. Giro della Provincia di Reggio Calabria (kat. 1.1)
73. VUELTA AL PAIS VASCO (kat. PT)
81. Klasika Primavera (kat. 1.1)
60. FLECHE WALLONNE (kat. PT)
84. LIEGE-BASTOGNE-LIEGE (kat. PT)
7. GP Industria e Artigianato (kat. 1.1)
64. GIRO d’ITALIA (kat. PT)
14. Osterreich Rundfahrt (kat. 2.1)
11. Brixia Tour (kat. 2.1)
11. Volta ao Portugal (kat. 2.HC)
24. VUELTA A ESPANA (kat. PT)
29. GP Beghelli Milano-Vignola (kat. 1.1)
62. Giro del Piemonte (kat. 1.HC)
17. Firenze-Pistoia ITT (kat. 1.1)
2006 (Lampre-Fondital):
75. GP Costa degli Etruschi (kat. 1.1)
23. Clasica de Almeria (kat. 1.1)
16. Vuelta a Murcia (kat. 2.1)
9. Settimana Coppi e Bartali (kat. 2.1)
40. Giro d’Oro (kat. 1.1)
6. Giro del Trentino (kat. 2.1)
10*. TOUR de ROMANDIE (kat. PT)
19*. GIRO d’ITALIA (kat. PT)
38. CRITERIUM du DAUPHINE LIBERE (kat. PT)
38. Volta ao Portugal (kat. 2.HC)
14*. VUELTA a ESPANA (kat. PT)
43. ZURI METZGETE (kat. PT)
34. Giro dell’Emilia (kat. 1.HC)
67. GP Beghelli / Milano-Vignola (kat. 1.1)
83. Giro del Piemonte (kat. 1.HC)
38. GIRO di LOMBARDIA (kat. PT)
5. Japan Cup (kat. 1.1)
2007 (Lampre-Fondital):
53. Vuelta a Murcia (kat. 2.1)
13. Settimana Coppi e Bartali (kat. 2.1)
2. Settimana Ciclistica Lombarda (kat. 2.1)
87. LIEGE-BASTOGNE-LIEGE (kat. PT)
9*. TOUR DE ROMANDIE (kat. PT)
28. GIRO D’ITALIA (kat. PT)
2. CRITERIUM du DAUPHINE LIBERE – 4 etap (kat. PT)
45. Volta ao Portugal (kat. 2.HC)
25. VUELTA A ESPANA (kat. PT)
43. Memorial Cimurri (kat. 1.1)
45. Coppa Sabatini (kat. 1.1)
7. Giro dell’Emilia (kat. 1.HC)
17. GIRO DI LOMBARDIA (kat. PT)
2008 (Lampre):
9. Settimana Coppi e Bartali (kat. 2.1)
8. Giro del Trentino (kat. 2.1)
11. TOUR DE ROMANDIE (kat. PT)
23. GIRO D’ITALIA (kat. 2.WC)
8. CRITERIUM du DAUPHINE LIBERE (kat. PT)
27. TOUR DE FRANCE (kat. 2.WC)
5. Giro dell’Appennino (kat. 1.1)
70. DEUTSCHLAND TOUR (kat. PT)
26. TOUR de POLOGNE (kat. PT)
31. Giro del Lazio (1.HC)
24. Giro dell’Emilia (kat. 1.HC)
136. GP Beghelli (kat. 1.1)
24. GIRO DI LOMBARDIA (kat. 1.WC)
2009 (Liquigas):
24. Settimana Coppi e Bartali (kat. 2.1)
12. Giro del Trentino (kat. 2.1)
17. Tour de Romandie (kat. 2.PT)
6. Giro d’Italia – etap 17 Blockhaus (kat. GT)
43. Giro d’Italia – klasyfikacja generalna (kat. GT)
1. Criterium du Dauphine Libere – etap 5 Mont Ventoux (kat. 2.PT)
12. Criterium du Dauphine Libere – klasyfikacja generalna (kat. 2.PT)
7. Tour de Pologne (kat. 2.PT)
12. Trofeo Melinda (kat. 1.1)
17. Vuelta a Espana (kat. GT)
24. Mistrzostwa Świata ze startu wspólnego
22. Giro dell’Emilia (kat. 1.HC)
80. Giro di Lombardia (kat. 1.HIS)
2010 (Liquigas-Doimo):
98. Volta a Catalunya (kat. 2.PT)
26. Giro del Trentino (kat. 2.1)
34. Tour de Romandie (kat. 2.PT)
1. Giro d’Italia, etap 4 : Savigliano – Cuneo T.T.T. (kat. GT2)
60. Giro d’Italia (kat. GT2)
10. Critérium du Dauphiné (kat. 2.PT)
61. Tour de France (kat. GT1)
6. Tour de Pologne (kat. 2.PT)