29.09 | 26 | | | World Championships ME - Road Race (WC) | 273.9 | 19 | 30 | more |
18.09 › 22.0918-22/9 | | | | Skoda Tour de Luxembourg (2.Pro) | | | | more |
| 3 | | | Youth classificationYouth classification | | | | |
| 7 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 70 | 85 | |
22.09 | 7 | | | S5Stage 5 - Mersch › Luxembourg | 176.9 | 2 | | |
21.09 | 1 | 2 | | S4 (ITT)Stage 4 (ITT) - Differdange › Differdange | 15.5 | 30 | 20 | |
20.09 | 9 | 12 | | S3Stage 3 - Rosport › Diekirch | 201.3 | | | |
19.09 | 74 | 36 | | S2Stage 2 - Junglinster › Schifflange | 155 | | | |
18.09 | 21 | 22 | | S1Stage 1 - Luxembourg › Luxembourg | 158 | | | |
15.09 | DNF | | | Grand Prix Cycliste de Montréal (1.UWT) | 209.1 | | | more |
13.09 | 89 | | | Grand Prix Cycliste de Québec (1.UWT) | 201.6 | 5 | | more |
03.08 | 22 | | | Olympic Games ME - Road Race (Olympics) | 272.1 | 26 | 30 | more |
29.06 › 21.0729-21/6 | | | | Tour de France (2.UWT) | | | | more |
12.07 | DNF | | | S13Stage 13 - Agen › Pau | 165.3 | | | |
11.07 | 44 | 9 | | S12Stage 12 - Aurillac › Villeneuve-sur-Lot | 203.6 | | | |
10.07 | 15 | 9 | | S11Stage 11 - Évaux-les-Bains › Le Lioran | 211 | 1 | 5 | |
09.07 | 60 | 5 | | S10Stage 10 - Orléans › Saint-Amand-Montrond | 187.3 | | | |
07.07 | 35 | 5 | | S9Stage 9 - Troyes › Troyes | 199 | | | |
06.07 | 54 | 5 | | S8Stage 8 - Semur-en-Auxois › Colombey-les-Deux-Eglises | 183.4 | | | |
05.07 | 15 | 5 | | S7 (ITT)Stage 7 (ITT) - Nuits-Saint-Georges › Gevrey-Chambertin | 25.3 | 1 | 5 | |
04.07 | 70 | 4 | | S6Stage 6 - Mâcon › Dijon | 163.5 | | | |
03.07 | 95 | 4 | | S5Stage 5 - Saint-Jean-de-Maurienne › Saint Vulbas | 177.4 | | | |
02.07 | 3 | 4 | | S4Stage 4 - Pinerolo › Valloire | 139.6 | 50 | 110 | |
01.07 | 100 | 19 | | S3Stage 3 - Piacenza › Torino | 230.8 | | | |
30.06 | 21 | 18 | | S2Stage 2 - Cesenatico › Bologna | 199.2 | | | |
29.06 | 37 | 37 | | S1Stage 1 - Firenze › Rimini | 206 | | | |
02.06 › 09.062-9/6 | | | | Critérium du Dauphiné (2.UWT) | | | | more |
07.06 | DNS | | | S6Stage 6 - Hauterives › Le Collet d'Allevard | 174.1 | | | |
06.06 | NR | 8 | | S5Stage 5 - Amplepuis › Saint-Priest | 167 | | | |
05.06 | 9 | 8 | | S4 (ITT)Stage 4 (ITT) - Saint-Germain-Laval › Neulise | 34.4 | 2 | 5 | |
04.06 | 17 | 14 | | S3Stage 3 - Celles-sur-Durolle › Les Estables | 181.7 | | | |
03.06 | 11 | 9 | | S2Stage 2 - Gannat › Col de la Loge | 142 | | | |
02.06 | 51 | 53 | | S1Stage 1 - Saint-Pourçain-sur-Sioule › Saint-Pourçain-sur-Sioule | 172.5 | | | |
23.04 › 28.0423-28/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 4 | | | Youth classificationYouth classification | | | | |
| 6 | | | Points classificationPoints classification | | | | |
| 5 | | | General classificationGeneral classification | | 120 | 225 | |
28.04 | 66 | | | S5Stage 5 - Vernier › Vernier | 150.8 | | | |
27.04 | 11 | 5 | | S4Stage 4 - Saillon › Leysin | 151.7 | | | |
26.04 | 4 | 1 | | S3 (ITT)Stage 3 (ITT) - Oron › Oron | 15.5 | 13 | 25 +10 | |
25.04 | 5 | 7 | | S2Stage 2 - Fribourg › Salvan/Les Marécottes | 171 | 10 | 20 | |
24.04 | 46 | 19 | | S1Stage 1 - Château d'Oex › Fribourg | 165.7 | | | |
23.04 | 28 | 28 | | ProloguePrologue - Payerne › Payerne | 2.28 | | | |
17.04 | DNF | | | La Flèche Wallonne (1.UWT) | 198.6 | | | more |
14.04 | 21 | | | Amstel Gold Race (1.UWT) | 253.6 | 14 | 20 | more |
01.04 › 06.041-6/4 | | | | Itzulia Basque Country (2.UWT) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 12 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 1 | | | General classificationGeneral classification | | 250 | 400 | |
06.04 | 2 | | | S6Stage 6 - Eibar › Eibar | 137.8 | 30 | 30 | |
05.04 | 22 | 3 | | S5Stage 5 - Vitoria-Gasteiz › Amorebieta-Etxano | 175.9 | | | |
04.04 | 80 | 2 | | S4Stage 4 - Etxarri Aranatz › Legutio | 157.5 | | | |
03.04 | 134 | 4 | | S3Stage 3 - Ezpeleta › Altsasu | 190.9 | | | |
02.04 | 18 | 4 | | S2Stage 2 - Irun › Kanbo | 160 | | | |
01.04 | 7 | 7 | | S1 (ITT)Stage 1 (ITT) - Irun › Irun | 10 | 4 | 8 | |
04.03 › 10.034-10/3 | | | | Tirreno-Adriatico (2.UWT) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 2 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 2 | | | General classificationGeneral classification | | 190 | 400 | |
10.03 | 44 | | | S7Stage 7 - San Benedetto del Tronto › San Benedetto del Tronto | 154 | | | |
09.03 | 2 | 2 | | S6Stage 6 - Sassoferrato › Cagli (Monte Petrano) | 180 | 30 | 40 | |
08.03 | 2 | 2 | | S5Stage 5 - Torricella Sicura › Valle Castellana | 144 | 30 | 40 | |
07.03 | 26 | 2 | | S4Stage 4 - Arrone › Giulianova | 207 | | | |
06.03 | 11 | 1 | | S3Stage 3 - Volterra › Gualdo Tadino | 225 | | +10 | |
05.03 | 69 | 1 | | S2Stage 2 - Camaiore › Follonica | 198 | | +10 | |
04.03 | 1 | 1 | | S1 (ITT)Stage 1 (ITT) - Lido di Camaiore › Lido di Camaiore | 10 | 50 | 60 +10 | |
28.02 | 3 | | | Trofeo Laigueglia (1.Pro) | 202 | 60 | 125 | more |
25.02 | 2 | | | Faun Drôme Classic (1.Pro) | 189 | 85 | 150 | more |
24.02 | 1 | | | Faun-Ardèche Classic (1.Pro) | 168.6 | 125 | 200 | more |
14.02 › 18.0214-18/2 | | | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) | | | | more |
16.02 | 2 | | | S3 (ITT)Stage 3 (ITT) - Alcaudete › Alcaudete | 4.95 | 18 | 15 | |
12.02 | 20 | | | Clásica Jaén (1.1) | 158.3 | 1 | 3 | more |