| 02-10 | DNF | | Züri Metzgete (PT) | 241.0km |
| 18-09 | 65 | | GP d'Isbergues (1.1) | 200.0km |
| | | Vuelta a España (PT) |
| 06-09 | DNF | | Stage 11Andorra - Cerler | 186.0km |
| 05-09 | 164 | | Stage 10Vall de Bas - Ordino-Arcalís | 206.0km |
| 04-09 | 29 | | Stage 9Lloret de Mar - Lloret de Mar | 48.0km |
| 03-09 | 118 | | Stage 8Tarragona - Lloret de Mar | 189.0km |
| 02-09 | 122 | | Stage 7Teruel - Vinaroz | 212.0km |
| 01-09 | 87 | | Stage 6Cuenca - Valdelinares | 217.0km |
| 31-08 | 16 | 1 | Stage 5Alcázar de San Juan - Cuenca | 176.0km |
| 30-08 | 67 | 1 | Stage 4Ciudad Real - Argamasilla de Alba | 232.0km |
| 29-08 | 60 | 1 | Stage 3Córdoba - Puertollano | 153.0km |
| 28-08 | 2 | 1 | Stage 2Granada - Córdoba | 189.0km |
| 27-08 | 3 | 3 | Stage 1Granada - Granada | 7.0km |
| 21-08 | 14 | | Châteauroux Classic de l'Indre Trophée Fenioux (1.1) | 198.0km |
| | | Tour de France (PT) |
| 105 | | Standings |
| 35 | | Points |
| 86 | | Mountain |
| 24-07 | 2 | 105 | Stage 21Corbeil-Essonnes - Paris | 144.0km |
| 23-07 | 40 | 106 | Stage 20Saint-Étienne - Saint-Étienne | 55.0km |
| 22-07 | 142 | 105 | Stage 19Issoire - Le Puy-en-Velay | 153.0km |
| 21-07 | 149 | 104 | Stage 18Albi - Mende | 189.0km |
| 20-07 | 137 | 104 | Stage 17Pau - Revel | 239.0km |
| 19-07 | 155 | 102 | Stage 16Mourenx - Pau | 180.0km |
| 17-07 | 138 | 95 | Stage 15Lézat-sur-Lèze - Saint-Lary-Soulan (Pla d'Adet) | 205.0km |
| 16-07 | 155 | 87 | Stage 14Agde - Ax-3 Domaines | 220.0km |
| 15-07 | 159 | 76 | Stage 13Miramas - Montpellier | 173.0km |
| 14-07 | 139 | 67 | Stage 12Briançon - Digne-les-Bains | 187.0km |
| 13-07 | 142 | 65 | Stage 11Courchevel - Briançon | 173.0km |
| 12-07 | 61 | 50 | Stage 10Grenoble - Courchevel | 192.0km |
| 10-07 | 58 | 38 | Stage 9Gérardmer - Mulhouse | 171.0km |
| 09-07 | 31 | 40 | Stage 8Pforzheim - Gérardmer | 231.0km |
| 08-07 | 30 | 68 | Stage 7Lunéville - Karlsruhe | 228.0km |
| 07-07 | 119 | 69 | Stage 6Troyes - Nancy | 199.0km |
| 06-07 | 92 | 80 | Stage 5Chambord - Montargis | 183.0km |
| 05-07 | 19 | 81 | Stage 4Tours - Blois | 67.0km |
| 04-07 | 60 | 20 | Stage 3La Châtaigneraie - Tours | 212.0km |
| 03-07 | 21 | 20 | Stage 2Challans - Les Essarts | 182.0km |
| 02-07 | 18 | 18 | Stage 1Fromentine - Noirmoutier-en-l'Île | 19.0km |
| | | Tour de Suisse (PT) |
| 8 | | Standings |
| 1 | | Points |
| 19-06 | 16 | 8 | Stage 9Ulrichen - Ulrichen | 100.0km |
| 18-06 | 12 | 3 | Stage 8Lenk - Verbier | 162.0km |
| 17-06 | | 3 | Stage 7Einsiedeln - Lenk | 193.0km |
| 16-06 | 11 | 3 | Stage 6Bürglen - Arosa | 158.0km |
| 15-06 | | 2 | Stage 5Bad Zurzach - Altdorf | 172.0km |
| 14-06 | 15 | 2 | Stage 4Vaduz - Bad Zurzach | 208.0km |
| 13-06 | 1 | 2 | Stage 3Abtwil - Sankt Anton | 154.0km |
| 12-06 | 2 | 2 | Stage 2Weinfelden - Weinfelden | 36.0km |
| 11-06 | 5 | | Stage 1Schaffhausen - Weinfelden | 170.0km |
| 16-05 | 1 | | GP de Villers Cotterêts (1.1) | 193.0km |
| | | Tour de Romandie (PT) |
| 90 | | Standings |
| 7 | | Points |
| 01-05 | 2 | 90 | Stage 5Lausanne - Lausanne | 20.0km |
| 30-04 | 118 | 93 | Stage 4Châtel-Saint-Denis - Les Paccots | 150.0km |
| 29-04 | 88 | 87 | Stage 3Aigle - Anzère | 146.0km |
| 28-04 | 68 | 5 | Stage 2Fleurier - Fleurier | 171.0km |
| 27-04 | 19 | 4 | Stage 1Avenches - Avenches | 166.0km |
| 26-04 | 4 | 4 | PrologueGenève - Genève | 3.0km |
| 20-04 | 20 | | La Flèche Wallonne (PT) | 201.0km |
| 17-04 | DNF | | Amstel Gold Race (PT) | 251.0km |
| | | Vuelta Ciclista al País Vasco (PT) |
| 16 | | Standings |
| 08-04 | 16 | 16 | Stage 6Oñati - Oñati | 9.0km |
| 07-04 | 6 | | Stage 4Vitoria-Gasteiz - Altsasu | 167.0km |
| 06-04 | 45 | 20 | Stage 3Ortuella - Vitoria-Gasteiz | 176.0km |
| 05-04 | 17 | 18 | Stage 2Zarautz - La Lejana-Trapagaran | 166.0km |
| 04-04 | 15 | 15 | Stage 1Zarautz - Zarautz | 133.0km |
| 19-03 | 66 | | Milano-Sanremo (PT) | 294.0km |
| 27-02 | DNF | | Kuurne-Brussel-Kuurne (1.1) | 190.0km |
| 20-02 | DNF | | Classic Haribo (1.1) | 203.0km |
| 01-02 | DNF | | GP d'Ouverture La Marseillaise (1.1) | 128.0km |