05.10 | DNF | | | Tre Valli Varesine (1.Pro) | 196.7 | | | more |
04.10 | 77 | | | Coppa Bernocchi - GP BPM (1.Pro) | 197.15 | | | more |
02.10 | DNF | | | Giro dell'Emilia (1.Pro) | 195.3 | | | more |
19.09 | 90 | | | Eschborn-Frankfurt (1.UWT) | 187.4 | 5 | | more |
12.09 | DNF | | | European Continental Championships ME - Road Race (CC) | 179.2 | | | more |
09.09 | 34 | | | European Continental Championships ME - ITT (CC) | 22.4 | | | more |
10.08 › 14.0810-14/8 | | | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) | | | | more |
13.08 | DNF | | | S4Stage 4 - Holbæk › Kalundborg | 188.4 | | | |
12.08 | 31 | 75 | | S3Stage 3 - Tønder › Vejle | 219.2 | | | |
11.08 | 93 | 94 | | S2Stage 2 - Ribe › Sønderborg | 189.6 | | | |
10.08 | 83 | 84 | | S1Stage 1 - Struer › Esbjerg | 175.3 | | | |
29.07 › 31.0729-31/7 | | | | Tour de l'Ain (2.1) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 23 | | | General classificationGeneral classification | | | 3 | |
31.07 | 21 | | | S3Stage 3 - Izernore › Lélex Mont-Jura | 125 | | | |
30.07 | 34 | 44 | | S2Stage 2 - Lagnieu › Saint-Vulbas | 136 | | | |
29.07 | 75 | 75 | | S1Stage 1 - Parc des Oiseaux › Bourg-en-Bresse | 141 | | | |
24.07 | 73 | | | Olympic Games Road Race (Olympics) Luxembourg | 234 | 15 | | more |
20.06 | 10 | | | National Championships Luxembourg ME - Road Race (NC) | 144.8 | | 3 | more |
18.06 | 2 | | | National Championships Luxembourg ME - ITT (NC) | 19.6 | 7 | 30 | more |
10.06 › 13.0610-13/6 | | | | La Route d'Occitanie - La Dépêche du Midi (2.1) | | | | more |
| 11 | | | Youth classificationYouth classification | | | | |
| 26 | | | General classificationGeneral classification | | | | |
13.06 | 33 | | | S4Stage 4 - Lavelanet-Pays d'Olmes › Duilhac-Sous-Peyrepertuse | 151.2 | | | |
12.06 | 31 | 30 | | S3Stage 3 - Pierrefitte-Nestalas › Le Mourtis | 191.8 | | | |
11.06 | 65 | 42 | | S2Stage 2 - Villefranche-De-Rouergue › Auch | 198.7 | | | |
10.06 | 43 | 43 | | S1Stage 1 - Cazouls-Lès-Béziers › Lacaune Les Bains | 156.5 | | | |
08.06 | 7 | | | Mont Ventoux Dénivelé Challenge (1.1) | 153 | 20 | 35 | more |
30.05 › 06.0630-6/5 | | | | Critérium du Dauphiné (2.UWT) | | | | more |
| 18 | | | Youth classificationYouth classification | | | | |
| 60 | | | General classificationGeneral classification | | 5 | 3 | |
06.06 | 27 | | | S8Stage 8 - La Léchère-Les-Bains › Les Gets | 147 | | | |
05.06 | 65 | 84 | | S7Stage 7 - Saint-Martin-le-Vinoux › La Plagne | 171.1 | | | |
04.06 | 33 | 89 | | S6Stage 6 - Loriol-sur-Drome › Le Sappey-en-Chartreuse | 167.2 | | | |
03.06 | 79 | 111 | | S5Stage 5 - Saint-Chamond › Saint-Vallier | 175.4 | | | |
02.06 | 99 | 126 | | S4 (ITT)Stage 4 (ITT) - Firminy › Roche-La-Molière | 16.4 | | | |
01.06 | 135 | 130 | | S3Stage 3 - Langeac › Saint-Haon-Le-Vieux | 172.2 | | | |
31.05 | 62 | 126 | | S2Stage 2 - Brioude › Saugues | 172.8 | | | |
30.05 | 138 | 138 | | S1Stage 1 - Issoire › Issoire | 181.8 | | | |
18.05 › 22.0518-22/5 | | | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) | | | | more |
| 15 | | | Mountains classificationMountains classification | | | | |
| 32 | | | General classificationGeneral classification | | | 3 | |
22.05 | 58 | | | S5Stage 5 - Vera › Pulpí | 107 | | | |
21.05 | 57 | 33 | | S4Stage 4 - Baza › Cúllar Vega | 182.9 | | | |
20.05 | 22 | 34 | | S3Stage 3 - Beas de Segura › Villarrodrigo (Puerto de Onsares) 151k | 176.9 | | | |
19.05 | 54 | 54 | | S2Stage 2 - Iznájar › Alcalá la Real | 184.8 | | | |
18.05 | 72 | 73 | | S1Stage 1 - Mijas › Zahara de la Sierra | 152.1 | | | |
25.04 | 130 | | | Liège-Bastogne-Liège (1.UWT) | 259.1 | 5 | | more |
19.04 › 23.0419-23/4 | | | | Tour of the Alps (2.Pro) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 40 | | | General classificationGeneral classification | | | 3 | |
23.04 | 76 | | | S5Stage 5 - Valle del Chiese/Idroland › Riva del Garda | 120.9 | | | |
22.04 | 34 | 30 | | S4Stage 4 - Naturns › Pieve di Bono | 168.6 | | | |
21.04 | 37 | 27 | | S3Stage 3 - Imst › Naturns | 162 | | | |
20.04 | 27 | 26 | | S2Stage 2 - Innsbruck › Feichten im Kaunertal | 121.5 | | | |
19.04 | 34 | 34 | | S1Stage 1 - Brixen › Innsbruck | 140.6 | | | |
14.04 | DNF | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | 201.7 | | | more |
22.03 › 28.0322-28/3 | | | | Volta Ciclista a Catalunya (2.UWT) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 63 | | | General classificationGeneral classification | | 5 | | |
28.03 | 91 | | | S7Stage 7 - Barcelona › Barcelona | 133 | | | |
27.03 | 85 | 57 | | S6Stage 6 - Tarragona › Mataró | 193.8 | | | |
26.03 | 78 | 61 | | S5Stage 5 - La Pobla de Segur › Manresa | 201.1 | | | |
25.03 | 31 | 54 | | S4Stage 4 - Ripoll › Port Ainé | 166.5 | | | |
24.03 | 83 | 110 | | S3Stage 3 - Canal Olimpic de Catalunya › Vallter 2000 | 203.1 | | | |
23.03 | 117 | 122 | | S2 (ITT)Stage 2 (ITT) - Banyoles › Banyoles | 18.5 | | | |
22.03 | 117 | 119 | | S1Stage 1 - Calella › Calella | 178.4 | | | |
28.02 | 91 | | | Royal Bernard Drôme Classic (1.Pro) | 179.2 | | | more |
27.02 | 88 | | | Faun-Ardèche Classic (1.Pro) | 171.3 | | | more |