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