| | | Vuelta a España (WT) |
| 07-09 | DNF | | Stage 15Oviedo - Lagos de Covadonga (152.0km) | 152.0km |
| 06-09 | 108 | 63 | Stage 14Santander - La Camperona (200.0km) | 200.0km |
| 05-09 | 20 | 53 | Stage 13Belorado - Cabárceno (188.0km) | 188.0km |
| 04-09 | 7 | 57 | Stage 12Logroño - Logroño (166.0km) | 166.0km |
| 03-09 | 118 | 57 | Stage 11Pamplona - Santuario de San Miguel de Aralar (153.0km) | 153.0km |
| 02-09 | 127 | 53 | Stage 10Real Monasterio de Santa María de Veruela - Borja (36.0km) | 36.0km |
| 31-08 | 115 | 50 | Stage 9Carboneras de Guadazaón - Aramón Valdelinares (185.0km) | 185.0km |
| 30-08 | 75 | 41 | Stage 8Baeza - Albacete (207.0km) | 207.0km |
| 29-08 | 20 | 40 | Stage 7Alhendín - Alcaudete (169.0km) | 169.0km |
| 28-08 | 73 | 44 | Stage 6Benalmádena - La Zubia (167.0km) | 167.0km |
| 27-08 | 6 | 15 | Stage 5Córdoba - Ronda (180.0km) | 180.0km |
| 26-08 | 7 | 17 | Stage 4Mairena del Alcor - Córdoba (164.0km) | 164.0km |
| 25-08 | 7 | 19 | Stage 3Cádiz - Arcos de la Frontera (197.0km) | 197.0km |
| 24-08 | 13 | 70 | Stage 2Algeciras - San Fernando (174.0km) | 174.0km |
| 23-08 | 15 | 100 | Stage 1Jerez de la Frontera - Jerez de la Frontera (12.0km) | 12.0km |
| | | Vuelta a Burgos (2.HC) |
| 32 | | Klassement |
| 3 | | Punten |
| 17-08 | 80 | 32 | Stage 5Aranda de Duero - Aranda de Duero (12.0km) | 12.0km |
| 16-08 | 1 | 30 | Stage 4Medina de Pomar - Villarcayo (142.0km) | 142.0km |
| 15-08 | 31 | 31 | Stage 3Comunero de Revenga - Lagunas de Neila (170.0km) | 170.0km |
| 14-08 | 6 | 4 | Stage 2Briviesca - Villadiego (152.0km) | 152.0km |
| 13-08 | 4 | 4 | Stage 1Burgos - Burgos (143.0km) | 143.0km |
| 03-08 | 43 | | La Poly Normande (1.1) | 157.0km |
| | | Tour de Wallonie (2.HC) |
| 8 | | Klassement |
| 9 | | Punten |
| 30-07 | 4 | 8 | Stage 5Malmedy - Ans (Liège) (180.0km) | 180.0km |
| 29-07 | 10 | 9 | Stage 4Herve - Waremme (174.0km) | 174.0km |
| 28-07 | 7 | 8 | Stage 3Somme-Leuze - Neufchâteau (174.0km) | 174.0km |
| 27-07 | 13 | 18 | Stage 2Péronnes-lez-Antoing - Perwez (193.0km) | 193.0km |
| 26-07 | 17 | 18 | Stage 1Frasnes-lez-Anvaing - Tournai (147.0km) | 147.0km |
| 29-06 | 74 | | National Road Championships - France (CN) | 94.0km |
| | | Tour de Suisse (WT) |
| 113 | | Klassement |
| 22-06 | 83 | 113 | Stage 9Martigny - Saas Fee (156.0km) | 156.0km |
| 21-06 | 127 | 134 | Stage 8Delémont - Verbier (219.0km) | 219.0km |
| 20-06 | 142 | 130 | Stage 7Worb - Worb (24.0km) | 24.0km |
| 19-06 | 117 | 132 | Stage 6Büren an der Aare - Delémont (192.0km) | 192.0km |
| 18-06 | 117 | 129 | Stage 5Ossingen - Büren an der Aare (183.0km) | 183.0km |
| 17-06 | 150 | 134 | Stage 4Heiden - Ossingen (160.0km) | 160.0km |
| 16-06 | 118 | 135 | Stage 3Sarnen - Heiden (202.0km) | 202.0km |
| 15-06 | 131 | 162 | Stage 2Bellinzona - Sarnen (181.0km) | 181.0km |
| 14-06 | 159 | 159 | Stage 1Bellinzona - Bellinzona (9.0km) | 9.0km |
| 12-06 | 90 | | GP Kanton Aargau (1.HC) | 181.0km |
| 01-06 | DNF | | Boucles de l'Aulne - Châteaulin (1.1) | 168.0km |
| | | World Ports Classic (2.1) |
| 91 | | Klassement |
| 25-05 | 87 | 91 | Stage 2Antwerpen - Rotterdam (159.0km) | 159.0km |
| 24-05 | 99 | 100 | Stage 1Rotterdam - Antwerpen (195.0km) | 195.0km |
| | | Tour de Picardie (2.1) |
| 18 | | Klassement |
| 18-05 | 20 | 18 | Stage 3Aisne - Bray-sur-Somme (170.0km) | 170.0km |
| 17-05 | 11 | 13 | Stage 2Mouy - Chemin des Dames (176.0km) | 176.0km |
| 16-05 | 34 | 34 | Stage 1Fort-Mahon-Plage - Estrées-Saint-Denis (191.0km) | 191.0km |
| | | 4 Jours de Dunkerque (2.HC) |
| 21 | | Klassement |
| 11-05 | 26 | 21 | Stage 5Saint-Pol-sur-Mer - Dunkerque (177.0km) | 177.0km |
| 10-05 | 51 | 25 | Stage 4Ardres - Licques (188.0km) | 188.0km |
| 09-05 | 29 | 19 | Stage 3Fruges - Calais (197.0km) | 197.0km |
| 08-05 | 21 | 19 | Stage 2Hazebrouck - Orchies (166.0km) | 166.0km |
| 07-05 | 38 | 42 | Stage 1Dunkerque - Coudekerque-Branche (162.0km) | 162.0km |
| 04-05 | 13 | | Grand Prix de la Somme (1.1) | 199.0km |
| 20-04 | 12 | | Tro-Bro Léon (1.1) | 202.0km |
| 19-04 | 56 | | Tour du Finistère (1.1) | 185.0km |
| 17-04 | 106 | | GP de Denain Porte du Hainaut (1.1) | 197.0km |
| 13-04 | DNF | | Paris-Roubaix (WT) | 257.0km |
| 06-04 | 27 | | Ronde van Vlaanderen (WT) | 259.0km |
| 30-03 | 14 | | Gent - Wevelgem (WT) | 233.0km |
| 28-03 | 65 | | E3 Harelbeke (WT) | 212.0km |
| 26-03 | 73 | | Dwars door Vlaanderen (1.HC) | 200.0km |
| 23-03 | 40 | | Milano-Sanremo (WT) | 294.0km |
| | | Tirreno-Adriatico (WT) |
| 92 | | Klassement |
| 31 | | Punten |
| 16 | | Berg |
| 18-03 | 153 | 92 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (9.0km) | 9.0km |
| 17-03 | 90 | 92 | Stage 6Bucchianico - Porto Sant'Elpidio (187.0km) | 187.0km |
| 16-03 | 151 | 96 | Stage 5Amatrice - Guardiagrele (190.0km) | 190.0km |
| 15-03 | 67 | 70 | Stage 4Indicatore - Cittareale (237.0km) | 237.0km |
| 14-03 | 10 | 42 | Stage 3Cascina - Arezzo (206.0km) | 206.0km |
| 13-03 | 143 | 92 | Stage 2San Vincenzo - Cascina (173.0km) | 173.0km |
| 12-03 | 14 | 89 | Stage 1Donoratico - San Vincenzo (16.0km) | 16.0km |
| 05-03 | 103 | | Le Samyn (1.1) | 195.0km |
| 02-03 | 72 | | Kuurne-Brussel-Kuurne (1.1) | 197.0km |
| 01-03 | 25 | | Omloop Het Nieuwsblad Elite (1.HC) | 201.0km |
| | | Tour Cycliste Int. du Haut Var (2.1) |
| 102 | | Klassement |
| 23-02 | 104 | 102 | Stage 2Draguignan - Draguignan (203.0km) | 203.0km |
| 22-02 | 39 | 39 | Stage 1Le Cannet des Maures - La Croix-Valmer (149.0km) | 149.0km |
| | | Tour of Qatar (2.HC) |
| 61 | | Klassement |
| 14-02 | 26 | 61 | Stage 6Sealine Beach Resort - Doha Corniche (113.0km) | 113.0km |
| 13-02 | 39 | 64 | Stage 5Al Zubara Fort - Madinat Al Shamal (159.0km) | 159.0km |
| 12-02 | 104 | 66 | Stage 4Dukhan - Mesaieed (135.0km) | 135.0km |
| 11-02 | 100 | 35 | Stage 3Lusail - Lusail (10.0km) | 10.0km |
| 10-02 | 39 | 32 | Stage 2Camel Race Track - Al Khor Corniche (160.0km) | 160.0km |
| 09-02 | 49 | 60 | Stage 1Al Wakra - Dukhan (135.0km) | 135.0km |