03.10 | DNS | | | Sparkassen Münsterland Giro (1.Pro) | 202 | | | more |
02.10 | DNF | | | Betcity Elfstedenrace (1.1) | 199.9 | | | more |
18.09 › 22.0918-22/9 | | | | Skoda Tour de Luxembourg (2.Pro) | | | | more |
| 29 | | | Youth classificationYouth classification | | | | |
| 72 | | | General classificationGeneral classification | | | | |
22.09 | 68 | | | S5Stage 5 - Mersch › Luxembourg | 176.9 | | | |
21.09 | 33 | 80 | | S4 (ITT)Stage 4 (ITT) - Differdange › Differdange | 15.5 | | | |
20.09 | 82 | 82 | | S3Stage 3 - Rosport › Diekirch | 201.3 | | | |
19.09 | 66 | 88 | | S2Stage 2 - Junglinster › Schifflange | 155 | | | |
18.09 | 97 | 97 | | S1Stage 1 - Luxembourg › Luxembourg | 158 | | | |
15.09 | 95 | | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 198.8 | | | more |
08.09 | 111 | | | Cyclassics Hamburg (1.UWT) | 177.5 | 5 | | more |
12.08 › 18.0812-18/8 | | | | Tour de Pologne (2.UWT) | | | | more |
18.08 | DNF | | | S7Stage 7 - Wieliczka › Kraków | 142.1 | | | |
17.08 | 59 | 75 | | S6Stage 6 - Wadowice › Bukovina Resort | 183.2 | | | |
16.08 | 124 | 90 | | S5Stage 5 - Katowice › Katowice 177k | 187.6 | | | |
15.08 | 60 | 81 | | S4Stage 4 - Kudowa-Zdrój › Prudnik | 195.3 | | | |
14.08 | 113 | 84 | | S3Stage 3 - Wałbrzych › Duszniki-Zdrój | 156.5 | | | |
13.08 | 44 | 70 | | S2 (ITT)Stage 2 (ITT) - Mysłakowice › Karpacz | 15.4 | | | |
12.08 | 77 | 77 | | S1Stage 1 - Wrocław › Karpacz | 156.1 | | | |
26.06 › 30.0626-30/6 | | | | Okolo Slovenska / Tour de Slovaquie (2.1) | | | | more |
| 10 | | | Mountains classificationMountains classification | | | | |
| 74 | | | General classificationGeneral classification | | | | |
30.06 | 67 | | | S5Stage 5 - Liptovský Mikuláš › Štrbské Pleso | 145 | | | |
29.06 | 82 | 86 | | S4Stage 4 - Partizánske › Ružomberok | 183.5 | | | |
28.06 | 126 | 115 | | S3Stage 3 - Piešťany › Dubnica nad Váhom | 161.2 | | | |
27.06 | 121 | 105 | | S2Stage 2 - Nitra › Hlohovec | 192 | | | |
26.06 | 3 | 50 | | S1 (TTT)Stage 1 (TTT) - Dunajská Streda › Dunajská Streda | 28.8 | 6 | 0.43 | |
23.06 | 41 | | | National Championships Spain ME - Road Race (NC) | 201.6 | | | more |
21.06 | 7 | | | National Championships Spain ME - ITT (NC) | 33.4 | | 3 | more |
09.06 › 16.069-16/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 45 | | | Youth classificationYouth classification | | | | |
| 105 | | | General classificationGeneral classification | | 5 | | |
16.06 | 96 | | | S8 (ITT)Stage 8 (ITT) - Aigle › Villars-sur-Ollon | 15.7 | | | |
15.06 | 79 | 106 | | S7Stage 7 - Villars-sur-Ollon › Villars-sur-Ollon | 118.2 | | | |
14.06 | 112 | 118 | | S6Stage 6 - Ulrichen › Blatten | 42.5 | | | |
13.06 | 106 | 114 | | S5Stage 5 - Ambrì › Carì | 148.6 | | | |
12.06 | 161 | 120 | | S4Stage 4 - Rüschlikon › Gotthard Pass | 171 | | | |
11.06 | 119 | 88 | | S3Stage 3 - Steinmaur › Rüschlikon | 161.7 | | | |
10.06 | 79 | 38 | | S2Stage 2 - Vaduz › Regensdorf | 177.3 | | | |
09.06 | 43 | 43 | | S1 (ITT)Stage 1 (ITT) - Vaduz › Vaduz | 4.77 | | | |
29.05 | 85 | | | Circuit Franco-Belge (1.Pro) | 190.6 | | | more |
26.05 | 52 | | | Rund um Köln (1.1) | 194.8 | | | more |
23.04 › 28.0423-28/4 | | | | Tour de Romandie (2.UWT) | | | | more |
26.04 | DNF | | | S3 (ITT)Stage 3 (ITT) - Oron › Oron | 15.5 | | | |
25.04 | 137 | 90 | | S2Stage 2 - Fribourg › Salvan/Les Marécottes 143k | 171 | | | |
24.04 | 58 | 75 | | S1Stage 1 - Château d'Oex › Fribourg | 165.7 | | | |
23.04 | 121 | 121 | | ProloguePrologue - Payerne › Payerne | 2.28 | | | |
01.04 › 06.041-6/4 | | | | Itzulia Basque Country (2.UWT) | | | | more |
| 33 | | | Points classificationPoints classification | | | | |
| 105 | | | General classificationGeneral classification | | 5 | | |
06.04 | 84 | | | S6Stage 6 - Eibar › Eibar | 137.8 | | | |
05.04 | 139 | 141 | | S5Stage 5 - Vitoria-Gasteiz › Amorebieta-Etxano | 175.9 | | | |
04.04 | 86 | 142 | | S4Stage 4 - Etxarri Aranatz › Legutio | 157.5 | | | |
03.04 | 143 | 152 | | S3Stage 3 - Ezpeleta › Altsasu | 190.9 | | | |
02.04 | 163 | 163 | | S2Stage 2 - Irun › Kanbo 141k | 160 | | | |
01.04 | 52 | 52 | | S1 (ITT)Stage 1 (ITT) - Irun › Irun | 10 | | | |
30.03 | DNF | | | Gran Premio Miguel Indurain (1.Pro) 109k | 198.1 | | | more |
15.03 | DNS | | | Bredene Koksijde Classic (1.Pro) | 201.2 | | | more |
14.03 | DNF | | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 196.2 | | | more |
02.03 | 118 | | | Grand Prix Criquielion (1.1) 146k | 200 | | | more |
22.02 › 25.0222-25/2 | | | | O Gran Camiño - The Historical Route (2.1) | | | | more |
| 6 | | | Mountains classificationMountains classification | | | | |
| 19 | | | Points classificationPoints classification | | | | |
| 61 | | | General classificationGeneral classification | | | | |
25.02 | 58 | | | S4Stage 4 - Ponteareas › Tui | 132 | | | |
24.02 | 91 | 66 | | S3Stage 3 - Xinzo de Limia › Castelo de Ribadavia | 173.2 | | | |
23.02 | 42 | 42 | | S2Stage 2 - Taboada › Chantada 96k | 151.2 | | | |
22.02 | 5 | 5 | | S1 (ITT)Stage 1 (ITT) - A Coruña › A Coruña | 14.8 | 4 | | |
30.01 › 03.0230-3/1 | | | | AlUla Tour (2.1) | | | | more |
| 21 | | | Youth classificationYouth classification | | | | |
| 70 | | | General classificationGeneral classification | | | | |
03.02 | 31 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | 150.2 | | | |
02.02 | 116 | 90 | | S4Stage 4 - Hegra › Maraya | 142.2 | | | |
01.02 | 60 | 32 | | S3Stage 3 - AlUla International Airport › AlUla Camel Cup Track | 170.6 | | | |
31.01 | 21 | 7 | | S2Stage 2 - AlUla Winter Park › Sharaan Nature Reserve | 199.1 | | | |
30.01 | 63 | 63 | | S1Stage 1 - Al Manshiya Train Station › Al Manshiya Train Station | 149.1 | | | |