22.06 | 40 | | | Andorra MoraBanc Clàssica (1.1) | 114.7 | | | more |
18.06 › 21.0618-21/6 | | | | La Route d'Occitanie - CIC (2.1) | | | | more |
| 11 | | | Mountains classificationMountains classification | | | | |
| 35 | | | General classificationGeneral classification | | | | |
21.06 | 77 | | | S4Stage 4 - Saint-Gaudens › Saint-Girons | 128.5 | | | |
20.06 | 33 | 31 | | S3Stage 3 - Pujaudran › Luz-Ardiden | 173.9 | | | |
19.06 | 67 | 13 | | S2Stage 2 - Gignac Vallée de L'Herault › Carmaux Ségala | 195.8 | | | |
18.06 | 13 | 13 | | S1 (ITT)Stage 1 (ITT) - Saint-Affrique › Roquefort-sur-Soulzon | 10.5 | | | |
29.04 › 04.0529-4/4 | | | | Tour de Romandie (2.UWT) | | | | more |
| 4 | | | Mountains classificationMountains classification | | | | |
| 37 | | | Points classificationPoints classification | | | | |
| 71 | | | General classificationGeneral classification | | 5 | | |
04.05 | 88 | | | S5 (ITT)Stage 5 (ITT) - Genève › Genève | 17.1 | | | |
03.05 | 73 | 72 | | S4Stage 4 - Sion › Thyon 2000 | 118.2 | | | |
02.05 | 97 | 70 | | S3Stage 3 - Cossonay › Cossonay | 183.1 | | | |
01.05 | 18 | 49 | | S2Stage 2 - La Grande Béroche › La Grande Béroche | 157 | | | |
30.04 | 87 | 109 | | S1Stage 1 - Münchenstein › Fribourg | 194.3 | | | |
29.04 | 127 | 127 | | ProloguePrologue - Saint-Imier › Saint-Imier | 3.44 | | | |
21.04 › 25.0421-25/4 | | | | Tour of the Alps (2.Pro) | | | | more |
24.04 | DNS | | | S4Stage 4 - Sillian › Obertilliach | 162.7 | | | |
23.04 | 40 | 30 | | S3Stage 3 - Sterzing › Innichen | 145.5 | | | |
22.04 | 37 | 31 | | S2Stage 2 - Mezzolombardo › Sterzing | 178 | | | |
21.04 | 21 | 21 | | S1Stage 1 - San Lorenzo Dorsino › San Lorenzo Dorsino | 148.5 | | | |
07.04 › 12.047-12/4 | | | | Itzulia Basque Country (2.UWT) | | | | more |
12.04 | DNF | | | S6Stage 6 - Eibar › Eibar | 153.4 | | | |
11.04 | 99 | 74 | | S5Stage 5 - Urduña › Gernika-Lumo | 172.3 | | | |
10.04 | 29 | 45 | | S4Stage 4 - Beasain › Markina-Xemein | 169.6 | | | |
09.04 | 55 | 57 | | S3Stage 3 - Zarautz › Beasain | 156.6 | | | |
08.04 | 151 | 59 | | S2Stage 2 - Pamplona-Iruña › Lodosa | 186.6 | | | |
07.04 | 59 | 59 | | S1 (ITT)Stage 1 (ITT) - Vitoria-Gasteiz › Vitoria-Gasteiz (Baskonia-Alavés) | 16.5 | | | |
05.04 | DNF | | | Gran Premio Miguel Indurain (1.Pro) | 203.9 | | | more |
24.03 › 30.0324-30/3 | | | | Volta Ciclista a Catalunya (2.UWT) | | | | more |
27.03 | DNF | | | S4Stage 4 - Sant Vicenç de Castellet › Montserrat Mil·lenari | 188.7 | | | |
26.03 | 80 | 94 | | S3Stage 3 - Viladecans The Style Outlets › La Molina | 218.6 | | | |
25.03 | 115 | 110 | | S2Stage 2 - Banyoles › Figueres | 180.5 | | | |
24.03 | 119 | 119 | | S1Stage 1 - Sant Feliu de Guíxols › Sant Feliu de Guíxols | 178.6 | | | |
17.02 › 23.0217-23/2 | | | | UAE Tour (2.UWT) | | | | more |
| 62 | | | General classificationGeneral classification | | 5 | | |
23.02 | 101 | | | S7Stage 7 - Al Ain Hazza Bin Zayed Stadium › Jebel Hafeet | 176 | | | |
22.02 | 101 | 43 | | S6Stage 6 - Abu Dhabi Cycling Club › Abu Dhabi Breakwater | 165 | | | |
21.02 | 101 | 46 | | S5Stage 5 - American University Dubai › Hamdan Bin Mohammed Smart University | 160 | | | |
20.02 | 128 | 44 | | S4Stage 4 - Fujairah Qidfa Beach › Umm al Quwain | 181 | | | |
19.02 | 22 | 27 | | S3Stage 3 - Ras al Khaimah › Jebel Jais | 181 | | | |
18.02 | 42 | 48 | | S2 (ITT)Stage 2 (ITT) - Al Hudayriyat Island › Al Hudayriyat Island | 12.2 | | | |
17.02 | 68 | 69 | | S1Stage 1 - Madinat Zayed Shams Solar Park › Liwa Palace | 138 | | | |
05.02 › 09.025-9/2 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
07.02 | DNF | | | S3Stage 3 - Bessèges › Bessèges | 136.2 114.2 | | | |
06.02 | 119 | 118 | | S2Stage 2 - Domessargues › Marguerittes | 165.83 | | | |
05.02 | 109 | 109 | | S1Stage 1 - Bellegarde › Bellegarde | 159.07 | | | |
02.02 | 150 | | | Trofeo Palma (1.1) | 149.9 | | | more |
31.01 | 26 | | | Trofeo Serra Tramuntana (1.1) | 151.3 | | | more |
29.01 | 83 | | | Trofeo Calvià (1.1) | 149.6 | | | more |