| 10-11 | 10 | | Tour de France Prudential Singapore Criterium (CRTP) | |
| 03-10 | 82 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 22-09 | 16 | | UCI World Championship Zurich TT (CM) | 46.0km |
| 18-09 | 114 | | Grand Prix de Wallonie (1.Pro) | 202.0km |
| 15-09 | 16 | | UEC Road European Championships (CC) | 222.0km |
| 11-09 | 9 | | UEC Road European Championships TT (CC) | 31.0km |
| 08-09 | 3 | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.0km |
| 25-08 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 259.0km |
| | | Tour Poitou - Charentes en Nouvelle Aquitaine (2.1) |
| 1 | | Klassement |
| 14 | | Punten |
| 1 | | Jongeren |
| 23-08 | 25 | 1 | Stage 4Fontaine-le-Comte - Poitiers (173.0km) | 173.0km |
| 22-08 | 1 | 1 | Stage 3Ménigoute - Fontaine-le-Comte (29.0km) | 29.0km |
| 21-08 | 30 | 9 | Stage 2Gensac-la-Pallue - Niort (181.0km) | 181.0km |
| 20-08 | 30 | 6 | Stage 1Les Gonds - Cognac (178.0km) | 178.0km |
| 03-08 | 63 | | Olympic Games Paris (JO) | 272.0km |
| 27-07 | DNF | | Olympic Games Paris TT (JO) | 32.0km |
| | | Tour de France (2.UWT) |
| 133 | | Klassement |
| 76 | | Punten |
| 30 | | Jongeren |
| 21-07 | 138 | 133 | Stage 21Monaco - Nice (33.0km) | 33.0km |
| 20-07 | 124 | 133 | Stage 20Nice - Col de la Couillole (132.0km) | 132.0km |
| 19-07 | 125 | 133 | Stage 19Embrun - Isola 2000 (144.0km) | 144.0km |
| 18-07 | 145 | 136 | Stage 18Gap - Barcelonnette (179.0km) | 179.0km |
| 17-07 | 142 | 132 | Stage 17Saint-Paul-Trois-Châteaux - Superdévoluy (177.0km) | 177.0km |
| 16-07 | 8 | 131 | Stage 16Gruissan - Nîmes (188.0km) | 188.0km |
| 14-07 | 131 | 133 | Stage 15Loudenvielle-Le Louron - Plateau de Beille (197.0km) | 197.0km |
| 13-07 | 94 | 134 | Stage 14Pau - Saint-Lary-Soulan (Pla d'Adet) (151.0km) | 151.0km |
| 12-07 | 10 | 140 | Stage 13Agen - Pau (165.0km) | 165.0km |
| 11-07 | 32 | 153 | Stage 12Aurillac - Villeneuve-sur-Lot (203.0km) | 203.0km |
| 10-07 | 154 | 158 | Stage 11Évaux-les-Bains - Le Lioran (211.0km) | 211.0km |
| 09-07 | 138 | 160 | Stage 10Orléans - Saint-Amand-Montrond (187.0km) | 187.0km |
| 07-07 | 92 | 161 | Stage 9Troyes - Troyes (199.0km) | 199.0km |
| 06-07 | 172 | 166 | Stage 8Semur-en-Auxois - Colombey-les-Deux-Églises (183.0km) | 183.0km |
| 05-07 | 124 | 161 | Stage 7Nuits-Saint-Georges - Gevrey-Chambertin (25.0km) | 25.0km |
| 04-07 | 23 | 161 | Stage 6Mâcon - Dijon (163.0km) | 163.0km |
| 03-07 | 174 | 163 | Stage 5Saint-Jean-de-Maurienne - Saint-Vulbas (177.0km) | 177.0km |
| 02-07 | 165 | 153 | Stage 4Pinerolo - Valloire (139.0km) | 139.0km |
| 01-07 | 174 | 120 | Stage 3Piacenza - Torino (230.0km) | 230.0km |
| 30-06 | 115 | 119 | Stage 2Cesenatico - Bologna (199.0km) | 199.0km |
| 29-06 | 99 | 99 | Stage 1Florence - Rimini (206.0km) | 206.0km |
| 23-06 | 20 | | National Road Championships - Norway (CN) | 199.0km |
| 20-06 | 1 | | National Road Championships - Norway TT (CN) | 27.0km |
| | | Baloise Belgium Tour (2.Pro) |
| 1 | | Klassement |
| 9 | | Punten |
| 16-06 | 11 | 1 | Stage 5Brussel - Brussel (185.0km) | 185.0km |
| 15-06 | 19 | 1 | Stage 4Durbuy - Durbuy (177.0km) | 177.0km |
| 14-06 | 37 | 1 | Stage 3Turnhout - Scherpenheuvel-Zichem (188.0km) | 188.0km |
| 13-06 | 7 | 1 | Stage 2Merelbeke - Knokke-Heist (184.0km) | 184.0km |
| 12-06 | 1 | 1 | Stage 1Beringen - Beringen (12.0km) | 12.0km |
| 08-06 | 5 | | Duracell Dwars door het Hageland (1.Pro) | 181.0km |
| 02-06 | 25 | | Brussels Cycling Classic (1.Pro) | 218.0km |
| 05-05 | 37 | | Tro-Bro Léon (1.Pro) | 203.0km |
| 01-05 | 38 | | Eschborn-Frankfurt (1.UWT) | 203.0km |
| 07-04 | 9 | | Paris-Roubaix (1.UWT) | 260.0km |
| 03-04 | 6 | | Scheldeprijs (1.Pro) | 205.0km |
| 31-03 | DNF | | Ronde van Vlaanderen (1.UWT) | 270.0km |
| 16-03 | 133 | | Milano-Sanremo (1.UWT) | 288.0km |
| 13-03 | 117 | | Milano - Torino (1.Pro) | 177.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 120 | | Klassement |
| 15 | | Punten |
| 10-03 | 17 | 120 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (154.0km) | 154.0km |
| 09-03 | 110 | 137 | Stage 6Sassoferrato - Cagli (180.0km) | 180.0km |
| 08-03 | 125 | 152 | Stage 5Torricella Sicura - Valle Castellana (146.0km) | 146.0km |
| 07-03 | 167 | 154 | Stage 4Arrone - Giulianova (207.0km) | 207.0km |
| 06-03 | 107 | 88 | Stage 3Volterra - Gualdo Tadino (220.0km) | 220.0km |
| 05-03 | 6 | 5 | Stage 2Camaiore - Follonica (198.0km) | 198.0km |
| 04-03 | 6 | 6 | Stage 1Lido di Camaiore - Lido di Camaiore (10.0km) | 10.0km |
| 27-02 | 31 | | Le Samyn (1.1) | 202.0km |
| 25-02 | 105 | | Kuurne-Brussel-Kuurne (1.Pro) | 196.0km |
| 24-02 | DNF | | Omloop Het Nieuwsblad Elite (1.UWT) | 202.0km |
| 11-02 | 26 | | Clasica de Almeria (1.Pro) | 192.0km |
| | | AlUla Tour (2.1) |
| 53 | | Klassement |
| 3 | | Punten |
| 03-02 | 75 | 53 | Stage 5Al-'Ula Old Town - Skyviews of Harrat Uwayrid (150.0km) | 150.0km |
| 02-02 | 8 | 60 | Stage 4Hegra - Maraya (142.0km) | 142.0km |
| 01-02 | 94 | 78 | Stage 3AlUla International Airport - AlUla Camel Cup Track (170.0km) | 170.0km |
| 31-01 | 1 | 1 | Stage 2Winter Park - Sharaan Nature Reserve (199.0km) | 199.0km |
| 30-01 | 4 | 7 | Stage 1Al Manshiyah - Al Manshiyah (149.0km) | 149.0km |