| 11-10 | DNF | | Paris - Tours Elite (1.HC) | 231.0km |
| 08-10 | 3 | | Paris-Bourges (1.1) | 190.0km |
| 04-10 | DNF | | Il Lombardia (WT) | 245.0km |
| 02-10 | DNF | | Giro del Piemonte (1.HC) | 185.0km |
| 30-09 | 3 | | Tre Valli Varesine (1.HC) | 226.0km |
| 27-09 | 18 | | UCI World Championship Richmond (WC) | 261.0km |
| 19-09 | DNF | | Memorial Marco Pantani (1.1) | |
| 17-09 | 7 | | Coppa Bernocchi (1.1) | |
| 16-09 | 4 | | Coppa Agostoni - Giro delle Brianze (1.1) | 198.0km |
| 06-09 | 22 | | GP de Fourmies (1.HC) | |
| 05-09 | 10 | | Brussels Cycling Classic (1.HC) | 200.0km |
| 30-08 | 31 | | GP Ouest France - Plouay (WT) | 229.0km |
| 23-08 | 3 | | Vattenfall Cyclassics (WT) | 221.0km |
| | | Eneco Tour (WT) |
| 16-08 | DNF | | Stage 7Sint-Pieters-Leeuw - Geraardsbergen (188.0km) | 188.0km |
| 15-08 | 107 | 123 | Stage 6Heerlen - Houffalize (198.0km) | 198.0km |
| 14-08 | 129 | 121 | Stage 5Riemst - Sittard-Geleen (179.0km) | 179.0km |
| 13-08 | 66 | 65 | Stage 4Hoogerheide - Hoogerheide (13.0km) | 13.0km |
| 12-08 | 15 | 27 | Stage 3Beveren - Ardooie (171.0km) | 171.0km |
| 11-08 | 21 | 28 | Stage 2Breda - Breda (180.0km) | 180.0km |
| 10-08 | 24 | 28 | Stage 1Bolsward - Bolsward (183.0km) | 183.0km |
| | | Tour de Pologne (WT) |
| 05-08 | DNF | | Stage 4Jaworzno - Nowy Sacz (220.0km) | 220.0km |
| 04-08 | 2 | 2 | Stage 3Zawiercie - Katowice (166.0km) | 166.0km |
| 03-08 | 3 | 4 | Stage 2Czestochowa - Dabrowa Gornicza (146.0km) | 146.0km |
| 02-08 | 12 | 12 | Stage 1Warszawa - Warszawa (122.0km) | 122.0km |
| 27-06 | DNF | | National Road Championships - Italy (CN) | 219.0km |
| 21-06 | 5 | | European Games Baku (CC) | |
| 11-06 | 6 | | GP Kanton Aargau (1.HC) | 181.0km |
| | | Giro d'Italia (WT) |
| 137 | | Klassement |
| 1 | | Punten |
| 7 | | stageClassificationCategories.Super-Combative |
| 31-05 | 5 | 137 | Stage 21Torino - Milano (178.0km) | 178.0km |
| 30-05 | 156 | 138 | Stage 20Saint-Vincent - Sestriere (199.0km) | 199.0km |
| 29-05 | 156 | 136 | Stage 19Gravellona Toce - Breuil-Cervinia (236.0km) | 236.0km |
| 28-05 | 149 | 136 | Stage 18Melide - Verbania (170.0km) | 170.0km |
| 27-05 | 2 | 137 | Stage 17Tirano - Lugano (134.0km) | 134.0km |
| 26-05 | 157 | 140 | Stage 16Pinzolo - Aprica (177.0km) | 177.0km |
| 24-05 | 166 | 140 | Stage 15Marostica - Madonna di Campiglio (165.0km) | 165.0km |
| 23-05 | 124 | 142 | Stage 14Treviso - Valdobbiadene (59.0km) | 59.0km |
| 22-05 | 2 | 144 | Stage 13Montecchio Maggiore - Jesolo (147.0km) | 147.0km |
| 21-05 | 112 | 148 | Stage 12Imola (Autodromo Enzo e Dino Ferrari) - Vicenza (190.0km) | 190.0km |
| 20-05 | 124 | 151 | Stage 11Forlì - Imola (Autodromo Enzo e Dino Ferrari) (153.0km) | 153.0km |
| 19-05 | 5 | 150 | Stage 10Civitanova Marche - Forlì (200.0km) | 200.0km |
| 17-05 | 104 | 151 | Stage 9Benevento - San Giorgio nel Sannio (215.0km) | 215.0km |
| 16-05 | 181 | 157 | Stage 8Fiuggi - Campitello Matese (186.0km) | 186.0km |
| 15-05 | 146 | 142 | Stage 7Grosseto - Fiuggi (264.0km) | 264.0km |
| 14-05 | 5 | 116 | Stage 6Montecatini Terme - Castiglione della Pescaia (183.0km) | 183.0km |
| 13-05 | 185 | 117 | Stage 5La Spezia - Abetone (152.0km) | 152.0km |
| 12-05 | 159 | 106 | Stage 4Chiavari - La Spezia (150.0km) | 150.0km |
| 11-05 | 108 | 94 | Stage 3Rapallo - Sestri Levante (136.0km) | 136.0km |
| 10-05 | 6 | 47 | Stage 2Albenga - Genova (177.0km) | 177.0km |
| 09-05 | 11 | 70 | Stage 1San Lorenzo al Mare - Sanremo (17.0km) | 17.0km |
| | | Tour de Romandie (WT) |
| 112 | | Klassement |
| 03-05 | 87 | 112 | Stage 6Lausanne - Lausanne (17.0km) | 17.0km |
| 02-05 | 124 | 117 | Stage 5Freiburg - Champex-Lac (166.0km) | 166.0km |
| 01-05 | 120 | 111 | Stage 4La Neuveville - Freiburg (169.0km) | 169.0km |
| 30-04 | 98 | 90 | Stage 3Moutier - Porrentruy (173.0km) | 173.0km |
| 29-04 | 87 | 87 | Stage 2Apples - Saint-Imier (166.0km) | 166.0km |
| 28-04 | 12 | 63 | Stage 1La Vallée de Joux - Juraparc (19.0km) | 19.0km |
| 29-03 | DNF | | Gent - Wevelgem (WT) | 240.0km |
| 25-03 | DNF | | Dwars door Vlaanderen (1.HC) | 200.0km |
| 22-03 | 84 | | Milano-Sanremo (WT) | 293.0km |
| 19-03 | 1 | | GP Nobili Rubinetterie-Coppa Papa Carlo-Coppa Città di Stresa (1.1) | |
| | | Paris - Nice (WT) |
| 95 | | Klassement |
| 10 | | Punten |
| 15-03 | 98 | 95 | Stage 7Nice - Col d'Eze (9.0km) | 9.0km |
| 14-03 | 93 | 91 | Stage 6Vence - Nice (181.0km) | 181.0km |
| 13-03 | 24 | 103 | Stage 5Saint-Étienne - Rasteau (192.0km) | 192.0km |
| 12-03 | 138 | 104 | Stage 4Varennes-sur-Allier - Croix-de-Chaubouret (204.0km) | 204.0km |
| 11-03 | 3 | 19 | Stage 3Saint-Amand-Montrond - Saint-Pourçain-sur-Sioule (179.0km) | 179.0km |
| 10-03 | 13 | 34 | Stage 2Saint-Aignan - Saint-Amand-Montrond (172.0km) | 172.0km |
| 09-03 | 5 | 33 | Stage 1Saint-Rémy-lès-Chevreuse - Contres (196.0km) | 196.0km |
| 08-03 | 32 | 32 | PrologueMaurepas - Maurepas (6.0km) | 6.0km |
| 04-03 | 27 | | Le Samyn (1.1) | 201.0km |
| 28-02 | DNF | | Classic Sud Ardèche - Souvenir Francis Delpech (1.1) | 200.0km |
| | | Etoile de Bessèges (2.1) |
| 36 | | Klassement |
| 08-02 | 84 | 36 | Stage 5Alès - Alès (12.0km) | 12.0km |
| 07-02 | 87 | 17 | Stage 4Laudun-l'Ardoise - Laudun-l'Ardoise (156.0km) | 156.0km |
| 06-02 | 2 | 17 | Stage 3Bessèges - Bessèges (153.0km) | 153.0km |
| 05-02 | 22 | 28 | Stage 2Nîmes - Les Fumades (155.0km) | 155.0km |
| 04-02 | 43 | 44 | Stage 1Bellegarde - Beaucaire (152.0km) | 152.0km |
| | | Santos Tour Down Under (WT) |
| 121 | | Klassement |
| 25-01 | 12 | 121 | Stage 6Adelaide - Adelaide (90.0km) | 90.0km |
| 24-01 | 118 | 125 | Stage 5McLaren Vale - Willunga (151.0km) | 151.0km |
| 23-01 | 128 | 130 | Stage 4Glenelg Shire - Mount Barker (145.0km) | 145.0km |
| 22-01 | 126 | 131 | Stage 3Norwood - Paracombe (143.0km) | 143.0km |
| 21-01 | 124 | 129 | Stage 2Unley - Stirling (150.0km) | 150.0km |
| 20-01 | 127 | 127 | Stage 1Tanunda - Campbelltown (132.0km) | 132.0km |