| 21.06 | 41 | | | Andorra MoraBanc Clàssica (1.1) 77k | | 125 | | | more |
| 18.06 › 20.0618-20/6 | | | | La Route d'Occitanie - CIC (2.1) | | | | | more |
| 13 | | | Mountains classificationMountains classification | | | | | |
| 11 | | | Points classificationPoints classification | | | | | |
| 6 | | | General classificationGeneral classification | | | 24 | 40 | |
| 20.06 | 6 | | | S3Stage 3 - Loures-Barousse › Loudenvielle | | 172 | 3 | | |
| 19.06 | 31 | 15 | | S2Stage 2 - Cordes-sur-Ciel › Saint-Gaudens | | 200.5 | | | |
| 18.06 | 8 | 9 | | S1Stage 1 - Bram › Saint-Paul-Cap-de-Joux | | 171.5 | 1 | | |
| 10.06 | 20 | | | Circuit Franco-Belge (1.Pro) | | 195.6 | 6 | 6 | more |
| 28.05 › 31.0528-31/5 | | | | Boucles de la Mayenne - Crédit Mutuel (2.Pro) | | | | | more |
| 53 | | | Points classificationPoints classification | | | | | |
| 17 | | | General classificationGeneral classification | | 147.7 | 14 | 6 | |
| 31.05 | 39 | | | S3Stage 3 - Cossé-le-Vivien › Laval | | 147.7 | | | |
| 30.05 | 21 | 17 | | S2Stage 2 - Aron › Pré-en-Pail-Saint-Samson | | 215.1 | | | |
| 29.05 | 65 | 26 | | S1Stage 1 - Saint-Berthevin › Château-Gontier-sur-Mayenne | | 172.4 | | | |
| 28.05 | 26 | 26 | | ProloguePrologue - Laval (Espace Mayenne) › Laval (Espace Mayenne) | | 5.4 | | | |
| 26.04 | 48 | | | Liège-Bastogne-Liège (1.UWT) | | 259.5 | 5 | 15 | more |
| 19.04 | 54 | | | Amstel Gold Race (1.UWT) | | 257.2 | 5 | 5 | more |
| 17.04 | 31 | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | | 162.6 | | 3 | more |
| 04.04 | 20 | | | Gran Premio Miguel Indurain (1.Pro) | | 203.9 | 6 | 6 | more |
| 18.03 | 58 | | | Milano - Torino (1.Pro) | | 174 | | | more |
| 08.03 › 15.038-15/3 | | | | Paris-Nice (2.UWT) | | | | | more |
| 26 | | | General classificationGeneral classification | | | 9 | 20 | |
| 15.03 | 43 | | | S8Stage 8 - Nice › Nice | | 129.2 | | | |
| 14.03 | 61 | 20 | | S7Stage 7 - Pont Louis Nucera › Isola | | 47 | | | |
| 13.03 | 43 | 20 | | S6Stage 6 - Barbentane › Apt | | 179.3 | | | |
| 12.03 | 33 | 23 | | S5Stage 5 - Cormoranche-sur-Saône › Colombier-le-Vieux | | 206.3 | | | |
| 11.03 | 49 | 35 | | S4Stage 4 - Bourges › Uchon | | 195 | | | |
| 10.03 | 21 | 54 | | S3 (TTT)Stage 3 (TTT) - Cosne-Cours-sur-Loire › Pouilly-sur-Loire | | 23.5 | | | |
| 09.03 | 89 | 69 | | S2Stage 2 - Épône › Montargis | | 187 | | | |
| 08.03 | 70 | 70 | | S1Stage 1 - Achères › Carrières-sous-Poissy | | 170.9 | | | |
| 28.02 | DNF | | | Faun-Ardèche Classic (1.Pro) | | 187.6 | | | more |
| 22.02 | 12 | | | Tour des Alpes-Maritimes (1.1) | | 154 | 10 | 10 | more |
| 21.02 | 108 | | | Classic Var (1.1) | | 176.6 | | | more |
| 13.02 › 14.0213-14/2 | | | | Vuelta a la Región de Murcia “Costa Cálida” (2.1) | | | | | more |
| 13.02 | 15 | 15 | | S1Stage 1 - Fortuna › Yecla | | 89.3 | | | |
| 27.01 › 31.0127-31/1 | | | | AlUla Tour (2.Pro) | | | | | more |
| 67 | | | General classificationGeneral classification | | | | | |
| 31.01 | 35 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | | 163.9 | | | |
| 30.01 | 92 | 81 | | S4Stage 4 - Winter Park › Hegra | | 173.4 | | | |
| 29.01 | 20 | 56 | | S3Stage 3 - Winter Park › Bir Jaydah Mountain Wirkah | | 142.1 | | | |
| 28.01 | 99 | 86 | | S2Stage 2 - AlManshiyah Train Station › AlManshiyah Train Station | | 152 | | | |
| 27.01 | 61 | 60 | | S1Stage 1 - AlUla Camel Cup Track › AlUla Camel Cup Track | | 158 | | | |