05.10 | 108 | | | Paris - Bourges (1.1) | 198 | | | more |
03.10 | 70 | | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 198.6 | | | more |
01.10 | 52 | | | Tour de Vendée (1.1) | 207.1 | | | more |
22.09 | 36 | | | European Continental Championships MU - Road Race (CC) | 136.5 | | | more |
17.09 | DNF | | | Trofeo Matteotti (1.1) | 195 | | | more |
16.09 | DNF | | | Memorial Marco Pantani (1.1) | 193.3 | | | more |
14.09 | 36 | | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 198.9 | | 3 | more |
13.09 | DNF | | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 191.55 | | | more |
20.08 › 27.0820-27/8 | | | | Tour de l'Avenir (2.Ncup) | | | | more |
| 35 | | | Points classificationPoints classification | | | | |
| 14 | | | General classificationGeneral classification | | | 3 | |
27.08 | 15 | | | S8Stage 8 - Val-Cenis › Sainte-Foy-Tarentaise | 99.6 | | | |
26.08 | 14 | 14 | | S7bStage 7b - Les Karellis › Val-Cenis Col du Mont Cenis | 70 | | | |
26.08 | 19 | 17 | | S7a (ITT)Stage 7a (ITT) - Montricher-Albanne › Les Karellis | 11.1 | | | |
25.08 | 24 | 18 | | S6Stage 6 - Méribel › Col de la Loze | 65 | | | |
24.08 | 10 | 11 | | S5Stage 5 - La Tour-de-Salvagny › Lac d'Aiguebelette | 141 | | | |
23.08 | 27 | 15 | | S4Stage 4 - Aigurande › Evaux-les-Bains | 133 | | | |
22.08 | 11 | 25 | | S3 (TTT)Stage 3 (TTT) - Issoudun › Vatan | 26.5 | | | |
21.08 | 55 | 33 | | S2Stage 2 - Nozay › Chinon | 189 | | | |
20.08 | 44 | 44 | | S1Stage 1 - Carnac › La Gacilly | 140 | | | |
12.08 | DNF | | | World Championships MU - Road Race (WC) | 168.4 | | | more |
30.07 | 33 | | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 193.3 | | | more |
26.07 › 27.0726-27/7 | | | | Vuelta a Castilla y Leon (2.1) | | | | more |
| 92 | | | General classificationGeneral classification | | | | |
27.07 | 86 | | | S2Stage 2 - Coca › Segovia | 186.2 | | | |
26.07 | 86 | 87 | | S1Stage 1 - Soria › Soria | 168.9 | | | |
25.06 | DNF | | | National Championships Spain ME - Road Race (NC) | 186.1 | | | more |
23.06 | 13 | | | National Championships Spain ME - ITT (NC) | 32 | | | more |
15.06 › 18.0615-18/6 | | | | La Route d'Occitanie - La Dépêche du Midi (2.1) | | | | more |
18.06 | DNF | | | S4Stage 4 - Saint-Gaudens › Saint-Girons | 164.7 | | | |
17.06 | 104 | 90 | | S3Stage 3 - Gimont › Nistos-Cap-Nestès | 189 | | | |
16.06 | 79 | 65 | | S2Stage 2 - Cazouls-lès-Béziers › Graulhet | 182 | | | |
15.06 | 64 | 64 | | S1Stage 1 - Narbonne › Gruissan | 184.3 | | | |
13.06 | OTL | | | CIC - Mont Ventoux (1.Pro) | 98.3 | | | more |
08.06 › 11.068-11/6 | | | | Course de la Paix Grand Prix Jeseníky (2.Ncup) | | | | more |
| 3 | | | Mountains classificationMountains classification | | | | |
| 25 | | | Points classificationPoints classification | | | | |
| 8 | | | General classificationGeneral classification | | 3 | 10 | |
11.06 | 38 | | | S3Stage 3 - Jeseník › Jeseník | 166.1 | | | |
10.06 | 10 | 8 | | S2Stage 2 - Bruntál › Červenohorské sedlo | 129.1 | | | |
09.06 | 43 | 36 | | S1Stage 1 - Jeseník › Rýmařov | 121.9 | | | |
08.06 | 51 | 51 | | ProloguePrologue - Jeseník › Jeseník | 3.1 | | | |
21.05 | 41 | | | Antwerp Port Epic / Sels Trophy (1.1) | 182.1 | | | more |
18.05 | 97 | | | Circuit de Charleroi Wallonie (1.1) | 150 | | | more |
14.05 | 38 | | | Boucles de l'Aulne - Châteaulin (1.1) | 181.1 | | | more |
13.05 | 55 | | | Tour du Finistère (1.1) | 193.3 | | | more |
07.05 | 111 | | | Tro-Bro Léon (1.Pro) | 204.1 | | | more |
06.05 | 105 | | | Grand Prix du Morbihan (1.Pro) 131k | 188.6 | | | more |
17.04 › 21.0417-21/4 | | | | Tour of the Alps (2.Pro) | | | | more |
| 18 | | | Youth classificationYouth classification | | | | |
| 65 | | | General classificationGeneral classification | | | | |
21.04 | 45 | | | S5Stage 5 - Cavalese › Brunico 62k | 144.5 | | | |
20.04 | 98 | 86 | | S4Stage 4 - Rovereto › Predazzo | 152.9 | | | |
19.04 | 105 | 81 | | S3Stage 3 - Ritten › Brentonico San Valentino | 162.5 | | | |
18.04 | 62 | 71 | | S2Stage 2 - Reith im Alpbachtal › Ritten | 165.2 | | | |
17.04 | 83 | 83 | | S1Stage 1 - Rattenberg › Alpbach | 127.5 | | | |
11.04 | 11 | | | Paris - Camembert (1.1) | 209 | 12 | 15 | more |
04.04 › 07.044-7/4 | | | | Région Pays de la Loire Tour (2.1) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 26 | | | General classificationGeneral classification | | | | |
07.04 | 27 | | | S4Stage 4 - Sablé-sur-Sarthe › Le Mans | 177.8 | | | |
06.04 | 21 | 35 | | S3Stage 3 - Baugé-en-Anjou › Mayenne | 197.1 | | | |
05.04 | 50 | 52 | | S2Stage 2 - Clisson › Le Lion-d'Angers | 169.4 | | | |
04.04 | 49 | 51 | | S1Stage 1 - Saint-Père-en-Retz › Saint-Gilles-Croix-de-Vie | 148.5 | | | |
26.03 | 73 | | | La Roue Tourangelle Centre Val de Loire - Trophée Groupama Paris Val de Loire (1.1) | 202 | | | more |
19.03 | 32 | | | Cholet - Pays de la Loire (1.1) | 205 | | | more |
18.03 | 36 | | | Classic Loire Atlantique (1.1) | 182.8 | | | more |
15.03 | 103 | | | Danilith Nokere Koerse (1.Pro) 121k | 193.6 | | | more |
05.03 | 124 | | | Grote prijs Jean - Pierre Monseré (1.1) | 198.6 | | | more |
04.03 | 54 | | | Grand Prix Criquielion (1.1) | 201 | | | more |
23.02 › 26.0223-26/2 | | | | O Gran Camiño (2.1) | | | | more |
| 6 | | | Youth classificationYouth classification | | | | |
| 27 | | | General classificationGeneral classification | | | | |
26.02 | 30 | | | S4 (ITT)Stage 4 (ITT) - Novo Milladoiro › Santiago de Compostela | 18.1 | | | |
25.02 | 31 | 33 | | S3Stage 3 - Esgos › Rubiá (Alto do Castelo) | 123.4 | | | |
24.02 | 36 | 36 | | S2Stage 2 - Tui › A Guarda (Monte Trega) | 184.3 | | | |
23.02 | NR | | | S1Stage 1 - Muralla de Lugo › Sarria | 188 172 | | | |
13.02 | DNF | | | Jaén Paraiso Interior (1.1) | 178.9 | | | more |
12.02 | 110 | | | Clasica de Almeria ME (1.Pro) | 190.3 | | | more |
11.02 | DNF | | | Vuelta Ciclista a la Región de Murcia Costa Cálida (1.1) | 183.5 | | | more |
30.01 › 03.0230-3/1 | | | | Saudi Tour (2.1) | | | | more |
| 26 | | | Youth classificationYouth classification | | | | |
| 79 | | | General classificationGeneral classification | | | | |
03.02 | 68 | | | S5Stage 5 - AlUla Old Town › Maraya | 142.9 | | | |
02.02 | 50 | 79 | | S4Stage 4 - Maraya › Skyviews of Harrat Uwayrid | 163.4 | | | |
01.02 | 75 | 85 | | S3Stage 3 - Al Manshiyah Train Station › Abu Rakah | 159.2 | | | |
31.01 | 103 | 92 | | S2Stage 2 - Winter Park › Shalal Sijlyat Rocks | 184 | | | |
30.01 | 83 | 83 | | S1Stage 1 - AlUla International Airport › Khaybar | 180.5 | | | |