09.10 | 9 | | | UCI Gravel World Championships ME (NAT) | 190 | | | more |
06.10 | 116 | | | Gran Piemonte (1.Pro) | 198 | | | more |
03.10 | 1 | | | Coppa Bernocchi - GP BPM (1.Pro) | 190.7 | 125 | 200 | more |
25.09 | 63 | | | World Championships ME - Road Race (WC) | 266.9 | 15 | | more |
13.09 › 17.0913-17/9 | | | | Škoda Tour Luxembourg (2.Pro) | | | | more |
| 17 | | | Mountains classificationMountains classification | | | | |
| 8 | | | Points classificationPoints classification | | | | |
| 49 | | | General classificationGeneral classification | | | | |
17.09 | 68 | | | S5Stage 5 - Mersch › Luxembourg | 178.4 | | | |
16.09 | 31 | 48 | | S4 (ITT)Stage 4 (ITT) - Remich › Remich | 26.1 | | | |
15.09 | 3 | 54 | | S3Stage 3 - Rosport › Diekirch | 188.4 | 12 | 5 | |
14.09 | 3 | 66 | | S2Stage 2 - Junglinster › Schifflange | 163.4 | 12 | 5 | |
13.09 | 74 | 74 | | S1Stage 1 - Luxembourg › Luxembourg | 163.8 | | | |
28.08 | 136 | | | Bretagne Classic - Ouest-France (1.UWT) | 254.8 | 5 | | more |
24.08 | DNF | | | Druivenkoers - Overijse (1.1) | 192 | | | more |
21.08 | 74 | | | Cyclassics Hamburg (1.UWT) | 204.7 | 5 | | more |
02.08 › 06.082-6/8 | | | | Vuelta a Burgos (2.Pro) | | | | more |
04.08 | DNS | | | S3Stage 3 - Quintana Martín Galíndez › Villarcayo | 156 | | | |
03.08 | 102 | 84 | | S2Stage 2 - Vivar del Cid › Villadiego | 158 | | | |
02.08 | 85 | 86 | | S1Stage 1 - Burgos › Burgos | 157 | | | |
23.07 › 27.0723-27/7 | | | | Ethias-Tour de Wallonie (2.Pro) | | | | more |
| 8 | | | Mountains classificationMountains classification | | | | |
| 5 | | | Points classificationPoints classification | | | | |
| 45 | | | General classificationGeneral classification | | | | |
27.07 | 25 | | | S5Stage 5 - Le Roeulx › Chapelle-lez-Herlaimont 209k | 214.8 | | | |
26.07 | 1 | 57 | | S4Stage 4 - Durbuy › Couvin 195k | 200.8 | 30 | 20 | |
25.07 | 12 | 88 | | S3Stage 3 - Visé › Rochefort | 195.6 | | | |
24.07 | 102 | 92 | | S2Stage 2 - Verviers › Herve | 176.8 | | | |
23.07 | 81 | 82 | | S1Stage 1 - Temploux › Huy | 174.4 | | | |
26.06 | 50 | | | National Championships Italy ME - Road Race (NC) | 237.1 | | | more |
05.06 | DNF | | | Brussels Cycling Classic (1.Pro) | 203.9 | | | more |
04.06 | 57 | | | Heylen Vastgoed Heistse Pijl (1.1) | 192.8 | | | more |
06.05 › 29.056-29/5 | | | | Giro d'Italia (2.UWT) | | | | more |
| 27 | | | Mountains classificationMountains classification | | | | |
| 22 | | | Points classificationPoints classification | | | | |
| 99 | | | General classificationGeneral classification | | 20 | | |
29.05 | 18 | | | S21 (ITT)Stage 21 (ITT) - Verona › Verona | 17.4 | | | |
28.05 | 44 | 100 | | S20Stage 20 - Belluno › Marmolada (Passo Fedaia) 137k | 168 | | | |
27.05 | 40 | 110 | | S19Stage 19 - Marano Lagunare › Santuario di Castelmonte 138k | 178 | | | |
26.05 | 46 | 122 | | S18Stage 18 - Borgo Valsugana › Treviso | 156 | | | |
25.05 | 141 | 125 | | S17Stage 17 - Ponte di Legno › Lavarone | 168 | | | |
24.05 | 104 | 124 | | S16Stage 16 - Salò › Aprica | 202 | | | |
22.05 | 118 | 126 | | S15Stage 15 - Rivarolo Canavese › Cogne | 177 | | | |
21.05 | 119 | 120 | | S14Stage 14 - Santena › Torino | 147 | | | |
20.05 | 86 | 121 | | S13Stage 13 - Sanremo › Cuneo | 150 | | | |
19.05 | 131 | 124 | | S12Stage 12 - Parma › Genova 144k | 204 | | | |
18.05 | 21 | 125 | | S11Stage 11 - Santarcangelo di Romagna › Reggio Emilia | 203 | | | |
17.05 | 32 | 127 | | S10Stage 10 - Pescara › Jesi | 196 | | | |
15.05 | 109 | 140 | | S9Stage 9 - Isernia › Blockhaus | 191 | | | |
14.05 | 165 | 153 | | S8Stage 8 - Napoli › Napoli | 153 | | | |
13.05 | 109 | 150 | | S7Stage 7 - Diamante › Potenza | 196 | | | |
12.05 | 166 | 151 | | S6Stage 6 - Palmi › Scalea | 192 | | | |
11.05 | 4 | 151 | | S5Stage 5 - Catania › Messina | 174 | 25 | 12 | |
10.05 | 145 | 162 | | S4Stage 4 - Avola › Etna | 172 | | | |
08.05 | 159 | 165 | | S3Stage 3 - Kaposvár › Balatonfüred | 201 | | | |
07.05 | 142 | 166 | | S2 (ITT)Stage 2 (ITT) - Budapest › Budapest | 9.2 | | | |
06.05 | 163 | 164 | | S1Stage 1 - Budapest › Visegrád | 195 | | | |
17.04 | 41 | | | Paris-Roubaix (1.UWT) | 257.2 | 5 | 10 | more |
13.04 | DNF | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | 205.1 | | | more |
10.04 | 102 | | | Amstel Gold Race (1.UWT) | 254.1 | 5 | | more |
27.03 | DNF | | | Gent-Wevelgem in Flanders Fields ME (1.UWT) | 248.8 | | | more |
25.03 | 53 | | | E3 Saxo Bank Classic (1.UWT) | 203.9 | 5 | 4 | more |
07.03 › 13.037-13/3 | | | | Tirreno-Adriatico (2.UWT) | | | | more |
| 35 | | | Points classificationPoints classification | | | | |
| 80 | | | General classificationGeneral classification | | 5 | | |
13.03 | 20 | | | S7Stage 7 - San Benedetto del Tronto › San Benedetto del Tronto | 159 | | | |
12.03 | 76 | 85 | | S6Stage 6 - Apecchio › Carpegna | 215 | | | |
11.03 | 55 | 96 | | S5Stage 5 - Sefro › Fermo 84k | 155 | | | |
10.03 | 115 | 118 | | S4Stage 4 - Cascata delle Marmore › Bellante | 202 | | | |
09.03 | 12 | 28 | | S3Stage 3 - Murlo › Terni | 170 | | | |
08.03 | 7 | 29 | | S2Stage 2 - Camaiore › Sovicille | 219 | 4 | | |
07.03 | 30 | 30 | | S1 (ITT)Stage 1 (ITT) - Lido di Camaiore › Lido di Camaiore | 13.9 | | | |
01.02 › 05.021-5/2 | | | | Saudi Tour (2.1) | | | | more |
| 10 | | | Points classificationPoints classification | | | | |
| 36 | | | General classificationGeneral classification | | | | |
05.02 | 3 | | | S5Stage 5 - AlUla Old Town › AlUla Old Town | 138.9 | 7 | 3 | |
04.02 | 41 | 36 | | S4Stage 4 - Winter Park › Skyviews of Harrat Uwayrid | 149.3 | | | |
03.02 | 10 | 42 | | S3Stage 3 - Tayma Hadaj Well › AlUla Old Town | 181.2 | | | |
02.02 | 67 | 54 | | S2Stage 2 - Taibah University › Abu Rakah | 163.9 | | | |
01.02 | 8 | 11 | | S1Stage 1 - Winter Park › Winter Park | 198 | 1 | | |