| 20.10 | 62 | | | Veneto Classic (1.Pro) | | 191.7 | | | more |
| 16.10 | 35 | | | Giro del Veneto (1.Pro) | | 165.35 | | 3 | more |
| 08.10 | NR | | | Tre Valli Varesine (1.Pro) | | 168.33 57.9 | | | more |
| 07.10 | 92 | | | Coppa Bernocchi - GP Banco BPM (1.Pro) | | 174.34 | | | more |
| 06.10 | 9 | | | Coppa Agostoni - Giro delle Brianze (1.1) 92k Q36.5 Continental Team | | 166.7 | 16 | 25 | more |
| 15.09 | 42 | | | Trofeo Matteotti (1.1) 71k | | 194 | | | more |
| 14.09 | 25 | | | Memorial Marco Pantani (1.1) | | 195.4 | | 3 | more |
| 11.09 | 21 | | | Giro della Toscana - Memorial Alfredo Martini (1.1) | | 182.7 | | 3 | more |
| 08.09 | 39 | | | GP Industria & Artigianato (1.Pro) | | 168.8 | | 3 | more |
| 14.08 › 18.0814-18/8 | | | | PostNord Tour of Denmark (2.Pro) | | | | | more |
| 21 | | | General classificationGeneral classification | | | 6 | 5 | |
| 18.08 | 48 | | | S5Stage 5 - Roskilde › Gladsaxe | | 164.6 | | | |
| 17.08 | 47 | 22 | | S4Stage 4 - Stevns › Holbæk | | 177.5 | | | |
| 16.08 | 44 | 23 | | S3Stage 3 - Kolding › Haderslev | | 156 | | | |
| 15.08 | 26 | 24 | | S2Stage 2 - Ringkøbing › Vejle | | 231 | | | |
| 14.08 | 7 | 29 | | S1 (TTT)Stage 1 (TTT) - Holstebro › Holstebro | | 13.7 | | | |
| 25.07 | 42 | | | Prueba Villafranca - Ordiziako Klasika (1.1) | | 165.7 | | | more |
| 23.07 | 71 | | | Vuelta a Castilla y Leon (1.1) | | 199.7 | | | more |
| 14.07 | 20 | | | Giro dell'Appennino (1.1) Q36.5 Continental Team | | 198.5 | 1 | 3 | more |
| 23.06 | DNF | | | National Championships Italy ME - Road Race (NC) | | 228 | | | more |
| 02.06 › 09.062-9/6 | | | | Critérium du Dauphiné (2.UWT) | | | | | more |
| 08.06 | DNF | | | S7Stage 7 - Albertville › Samoëns 1600 | | 155.3 | | | |
| 07.06 | 61 | 56 | | S6Stage 6 - Hauterives › Le Collet d'Allevard | | 174.1 | | | |
| 06.06 | NR | 63 | | S5Stage 5 - Amplepuis › Saint-Priest | | 167 | | | |
| 05.06 | 60 | 65 | | S4 (ITT)Stage 4 (ITT) - Saint-Germain-Laval › Neulise | | 34.4 | | | |
| 04.06 | 112 | 68 | | S3Stage 3 - Celles-sur-Durolle › Les Estables | | 181.7 | | | |
| 03.06 | 65 | 65 | | S2Stage 2 - Gannat › Col de la Loge 129k | | 142 | | | |
| 02.06 | 76 | 77 | | S1Stage 1 - Saint-Pourçain-sur-Sioule › Saint-Pourçain-sur-Sioule | | 172.5 | | | |
| 23.05 › 26.0523-26/5 | | | | Tour of Norway (2.Pro) | | | | | more |
| 20 | | | General classificationGeneral classification | | | 8 | 5 | |
| 26.05 | 26 | | | S4Stage 4 - Stavanger › Stavanger | | 123.8 | | | |
| 25.05 | 35 | 20 | | S3Stage 3 - Sola › Egersund | | 173.1 | | | |
| 24.05 | 21 | 21 | | S2Stage 2 - Odda › Gullingen | | 204.8 | | | |
| 23.05 | 26 | 26 | | S1Stage 1 - Voss › Voss Resort | | 141.9 | | | |
| 21.04 › 28.0421-28/4 | | | | Presidential Cycling Tour of Türkiye (2.Pro) | | | | | more |
| 11 | | | Mountains classificationMountains classification | | | | | |
| 45 | | | Points classificationPoints classification | | | | | |
| 19 | | | General classificationGeneral classification | | | 10 | 5 | |
| 28.04 | NR | | | S8Stage 8 - Istanbul › Istanbul | | 105.4 | | | |
| 27.04 | 76 | 19 | | S7Stage 7 - Çeşme › İzmir | | 125.4 | | | |
| 26.04 | 20 | 19 | | S6Stage 6 - Kuşadası › Manisa (Spil Dağı) | | 160.1 | | | |
| 25.04 | 79 | 5 | | S5Stage 5 - Bodrum › Kuşadası | | 177.9 | | | |
| 24.04 | 45 | 5 | | S4Stage 4 - Marmaris › Bodrum | | 137.9 | | | |
| 23.04 | 70 | 5 | | S3Stage 3 - Fethiye › Marmaris 87k | | 147.4 | | | |
| 22.04 | 58 | 58 | | S2Stage 2 - Kemer › Kaş | | 190.6 | | | |
| 21.04 | 88 | 89 | | S1Stage 1 - Antalya › Antalya | | 134.7 | | | |
| 01.04 › 06.041-6/4 | | | | Itzulia Basque Country (2.UWT) | | | | | more |
| 97 | | | General classificationGeneral classification | | | 5 | | |
| 06.04 | 93 | | | S6Stage 6 - Eibar › Eibar | | 137.8 | | | |
| 05.04 | 143 | 122 | | S5Stage 5 - Vitoria-Gasteiz › Amorebieta-Etxano | | 175.9 | | | |
| 04.04 | 17 | 78 | | S4Stage 4 - Etxarri Aranatz › Legutio | | 157.5 | | | |
| 03.04 | 81 | 87 | | S3Stage 3 - Ezpeleta › Altsasu | | 190.9 | | | |
| 02.04 | 105 | 93 | | S2Stage 2 - Irun › Kanbo | | 160 | | | |
| 01.04 | 70 | 69 | | S1 (ITT)Stage 1 (ITT) - Irun › Irun | | 10 | | | |
| 30.03 | DNF | | | Gran Premio Miguel Indurain (1.Pro) | | 198.1 | | | more |
| 27.03 | 35 | | | Paris - Camembert (1.1) | | 190.6 | | | more |
| 24.03 | 96 | | | La Roue Tourangelle Centre Val de Loire - Trophée Groupama Paris Val de Loire (1.1) | | 200 | | | more |
| 04.03 › 10.034-10/3 | | | | Tirreno-Adriatico (2.UWT) | | | | | more |
| 05.03 | DNS | | | S2Stage 2 - Camaiore › Follonica | | 198 | | | |
| 04.03 | 140 | 140 | | S1 (ITT)Stage 1 (ITT) - Lido di Camaiore › Lido di Camaiore | | 10 | | | |
| 02.03 | 62 | | | Strade Bianche (1.UWT) | | 215 | 5 | | more |
| 12.02 | 22 | | | Clásica Jaén (1.1) | | 158.3 | | 3 | more |
| 11.02 | 123 | | | Clasica de Almeria ME (1.Pro) | | 192.3 | | | more |
| 30.01 › 03.0230-3/1 | | | | AlUla Tour (2.1) | | | | | more |
| 69 | | | General classificationGeneral classification | | | | | |
| 03.02 | 20 | | | S5Stage 5 - AlUla Old Town › Skyviews of Harrat Uwayrid | | 150.2 | | | |
| 02.02 | 95 | 88 | | S4Stage 4 - Hegra › Maraya | | 142.2 | | | |
| 01.02 | 110 | 86 | | S3Stage 3 - AlUla International Airport › AlUla Camel Cup Track | | 170.6 | | | |
| 31.01 | 51 | 55 | | S2Stage 2 - AlUla Winter Park › Sharaan Nature Reserve | | 199.1 | | | |
| 30.01 | 76 | 76 | | S1Stage 1 - Al Manshiya Train Station › Al Manshiya Train Station | | 149.1 | | | |