08.10 | 86 | | | Il Lombardia (1.UWT) | 253 | 5 | | more |
06.10 | 7 | | | Gran Piemonte (1.Pro) | 198 | 35 | 60 | more |
04.10 | DNF | | | Tre Valli Varesine (1.Pro) | 196.3 | | | more |
03.10 | 2 | | | Coppa Bernocchi - GP BPM (1.Pro) | 190.7 | 85 | 150 | more |
01.10 | DNF | | | Giro dell'Emilia (1.Pro) | 198.7 | | | more |
29.09 | 13 | | | Coppa Agostoni - Giro delle Brianze (1.1) | 193 | 8 | 5 | more |
25.09 | 14 | | | Classique Paris-Chauny (1.1) | 203.5 | 7 | 5 | more |
18.09 | DNS | | | Gooikse Pijl (1.1) | 199 | | | more |
17.09 | DNF | | | Primus Classic (1.Pro) | 199.3 | | | more |
14.09 | 5 | | | Grand Prix de Wallonie (1.Pro) | 199.7 | 45 | 85 | more |
11.09 | 15 | | | GP de Fourmies / La Voix du Nord (1.Pro) | 197.6 | 12 | 10 | more |
04.09 › 08.094-8/9 | | | | Tour of Britain (2.Pro) | | | | more |
| 8 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 6 | | | General classificationGeneral classification | | 60 | 70 | |
08.09 | 9 | | | S5Stage 5 - West Bridgford › Mansfield | 186.8 | | | |
07.09 | 10 | 6 | | S4Stage 4 - Redcar › Duncombe Park, Helmsley | 149.5 | | | |
06.09 | 13 | 2 | | S3Stage 3 - Durham › Sunderland | 163.6 | | | |
05.09 | 3 | 1 | | S2Stage 2 - Hawick › Duns | 175.2 | 12 | 5 | |
04.09 | 1 | 1 | | S1Stage 1 - Aberdeen › Glenshee Ski Centre | 181.3 | 30 | 20 | |
16.08 › 20.0816-20/8 | | | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 28 | | | General classificationGeneral classification | | | 5 | |
20.08 | 20 | | | S5Stage 5 - Give › Vejle | 126.5 | | | |
19.08 | 16 | 49 | | S4Stage 4 - Skive › Skive | 167.3 | | | |
18.08 | 63 | 53 | | S3Stage 3 - Otterup › Herning 230k | 239.3 | | | |
17.08 | 63 | 58 | | S2 (ITT)Stage 2 (ITT) - Assens › Assens | 12.2 | | | |
16.08 | 43 | 48 | | S1Stage 1 - Allerød › Køge | 222.6 | | | |
24.05 › 29.0524-29/5 | | | | Tour of Norway (2.Pro) | | | | more |
| 9 | | | Youth classificationYouth classification | | | | |
| 16 | | | Mountains classificationMountains classification | | | | |
| 26 | | | Points classificationPoints classification | | | | |
| 31 | | | General classificationGeneral classification | | | 3 | |
29.05 | 26 | | | S6Stage 6 - Stavanger › Stavanger 122k | 149.3 | | | |
28.05 | 16 | 33 | | S5Stage 5 - Flekkefjord › Sandnes | 181.7 | | | |
27.05 | 10 | 35 | | S4Stage 4 - Hovden › Kristiansand | 232.1 | | | |
26.05 | 30 | 37 | | S3Stage 3 - Gol › Stavsro/Gaustatoppen | 175.8 | | | |
25.05 | 55 | 49 | | S2Stage 2 - Ulvik › Geilo | 123.8 | | | |
24.05 | 34 | 34 | | S1Stage 1 - Bergen › Voss Resort | 173.6 | | | |
26.04 › 01.0526-1/4 | | | | Tour de Romandie (2.UWT) | | | | more |
30.04 | DNF | | | S4Stage 4 - Aigle › Zinal (Val d'Anniviers) | 180.1 | | | |
29.04 | 115 | 82 | | S3Stage 3 - Valbroye › Valbroye | 165.1 | | | |
28.04 | 44 | 62 | | S2Stage 2 - Échallens › Échallens | 168.2 | | | |
27.04 | 68 | 70 | | S1Stage 1 - La Grande Beroche › Romont | 178 | | | |
26.04 | 83 | 83 | | ProloguePrologue - Lausanne › Lausanne | 5.12 | | | |
10.04 › 17.0410-17/4 | | | | Presidential Cycling Tour of Türkiye (2.Pro) | | | | more |
| 35 | | | Points classificationPoints classification | | | | |
| 15 | | | General classificationGeneral classification | | 20 | 10 | |
17.04 | DF | | | S8Stage 8 - İstanbul › İstanbul | 137.8 | | | |
16.04 | 9 | 15 | | S7Stage 7 - Gelibolu › Tekirdağ | 131.3 | | | |
15.04 | 38 | 16 | | S6Stage 6 - Edremit (Akçay) › Eceabat (57.Alay Şehitliği) | 201.5 | | | |
14.04 | 40 | 18 | | S5Stage 5 - Manisa › Ayvalık | 186.1 | | | |
13.04 | 26 | 19 | | S4Stage 4 - İzmir (Konak) › Manisa (Spil Milli Park) | 146.2 | | | |
12.04 | 21 | 17 | | S3Stage 3 - Çeşme › İzmir (Karşıyaka) | 117.9 | | | |
11.04 | 55 | 26 | | S2Stage 2 - Selçuk (Efes) › Alaçatı | 156.4 | | | |
10.04 | 18 | 18 | | S1Stage 1 - Bodrum › Kuşadası | 202 | | | |
21.03 › 27.0321-27/3 | | | | Volta Ciclista a Catalunya (2.UWT) | | | | more |
24.03 | DNS | | | S4Stage 4 - La Seu d'Urgell › Boí Taüll | 166.7 | | | |
23.03 | 117 | 79 | | S3Stage 3 - Perpignan › La Molina | 161.1 | | | |
22.03 | 50 | 56 | | S2Stage 2 - L'Escala › Perpignan | 202.4 | | | |
21.03 | 76 | 76 | | S1Stage 1 - Sant Feliu de Guíxols › Sant Feliu de Guíxols | 171.2 | | | |
16.03 | 18 | | | Milano - Torino (1.Pro) | 199 | 8 | 5 | more |
26.02 | DNF | | | Omloop Het Nieuwsblad ME (1.UWT) | 204.2 | | | more |
16.02 › 20.0216-20/2 | | | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) | | | | more |
| 31 | | | General classificationGeneral classification | | | 3 | |
20.02 | 29 | | | S5Stage 5 - Huesa › Chiclana de Segura | 146.4 | | | |
19.02 | 18 | 36 | | S4Stage 4 - Cúllar Vega › Baza | 167.4 | | | |
18.02 | 75 | 55 | | S3Stage 3 - Lucena › Otura | 153.2 | | | |
17.02 | 50 | 52 | | S2Stage 2 - Archidona › Alcalá la Real | 150.6 | | | |
16.02 | 58 | 59 | | S1Stage 1 - Ubrique › Iznájar | 200.7 | | | |
02.02 › 06.022-6/2 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 21 | | | Points classificationPoints classification | | | | |
| 33 | | | General classificationGeneral classification | | | | |
06.02 | 99 | | | S5 (ITT)Stage 5 (ITT) - Alès › Alès l'Ermitage | 10.64 | | | |
05.02 | 38 | 33 | | S4Stage 4 - Saint-Hilaire-de-Brethmas › Le Mont Bouquet | 146.71 | | | |
04.02 | 13 | 40 | | S3Stage 3 - Bessèges › Bessèges | 155.65 | | | |
03.02 | 11 | 73 | | S2Stage 2 - Saint-Christol-lèz-Alès › Rousson | 156.21 | | | |
02.02 | 96 | 96 | | S1Stage 1 - Bellegarde › Bellegarde | 160.86 | | | |