| 09-11 | 28 | | Tour de France Saitama Criterium (CRTP) | 59.0km |
| 02-11 | 29 | | Tour de France EFGH Singapore Criterium (CRTP) | |
| 19-10 | 80 | | Veneto Classic (1.Pro) | 197.0km |
| 12-10 | 22 | | Trofeo Tessile & Moda - Valdengo Oropa (1.1) | 170.0km |
| 04-10 | 16 | | UEC Road European Championships U23 (CC) | 121.0km |
| 26-09 | 9 | | UCI World Championship Kigali U23 (CM) | 164.0km |
| 22-09 | 12 | | UCI World Championship Kigali TT U23 (CM) | 31.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 17 | | Klassement |
| 17 | | Berg |
| 2 | | Jongeren |
| 07-09 | 16 | 17 | Stage 4Cervignano del Friuli - San Daniele del Friuli (151.0km) | 151.0km |
| 06-09 | | 62 | Stage 3Ampezzo - Ravascletto (155.0km) | 155.0km |
| 05-09 | 143 | 63 | Stage 2Porpetto - Teor (167.0km) | 167.0km |
| 04-09 | | | Stage 1Palazzolo dello Stella - Buttrio (156.0km) | 156.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 24-08 | DNF | | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 26 | 26 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 19-07 | DNF | | Stage 4Saint-Pierre - Valsavarenche (160.0km) | 160.0km |
| 18-07 | 56 | 60 | Stage 3Pré-Saint-Didier - Colle del Gran San Bernardo (121.0km) | 121.0km |
| 16-07 | 69 | 69 | Stage 1Aosta - Aosta (85.0km) | 85.0km |
| 29-06 | 18 | | National Road Championships - Spain (CN) | 191.0km |
| 27-06 | 7 | | National Road Championships - Spain TT (CN) | 14.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 7 | | Klassement |
| 20 | | Punten |
| 4 | | Berg |
| 3 | | Jongeren |
| 22-06 | 13 | 7 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 3 | 6 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 33 | 6 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 27 | 6 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 76 | 4 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 3 | 4 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 50 | 22 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 26 | 26 | Stage 1Rho - Rho (8.0km) | 8.0km |
| 25-05 | 93 | | Due Giorni Marchigiana - Trofeo Città di Castelfidardo (1.2U) | 180.0km |
| 24-05 | 16 | | Due Giorni Marchigiana - G.P. Santa Rita (1.2U) | 170.0km |
| | | Vuelta Asturias Julio Alvarez Mendo (2.1) |
| 13 | | Klassement |
| 27-04 | 20 | 13 | Stage 4Ribera de Arriba - Ribadesella (198.0km) | 198.0km |
| 26-04 | 42 | 5 | Stage 3Benia de Onís - Oviedo (142.0km) | 142.0km |
| 25-04 | 7 | 4 | Stage 2Oriente - Oriente (184.0km) | 184.0km |
| 24-04 | 11 | 11 | Stage 1Oviedo - Oriente (179.0km) | 179.0km |
| 22-04 | 39 | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 19-04 | 6 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 06-04 | 4 | | Trofeo Piva (1.2U) | |
| | | Volta ao Alentejo (2.2) |
| 37 | | Klassement |
| 17 | | Berg |
| 12 | | Jongeren |
| 30-03 | 80 | 37 | Stage 5Estremoz - Évora (151.0km) | 151.0km |
| 29-03 | 40 | 38 | Stage 4Monforte - Castelo de Vide (147.0km) | 147.0km |
| 28-03 | 66 | 68 | Stage 3Carvalhal - Arraiolos (151.0km) | 151.0km |
| 27-03 | 87 | 71 | Stage 2Castro Verde - Grandola (171.0km) | 171.0km |
| 26-03 | 58 | 59 | Stage 1Beja - Moura (166.0km) | 166.0km |
| 23-03 | 13 | | Troféu Internacional da Arrábida (1.2) | 173.0km |
| | | Istrian Spring Tour (2.2) |
| 2 | | Klassement |
| 10 | | Punten |
| 3 | | Berg |
| 16-03 | 81 | 2 | Stage 3Pazin - Umag (118.0km) | 118.0km |
| 15-03 | 1 | 1 | Stage 2Novigrad - Motovun (139.0km) | 139.0km |
| 14-03 | 86 | 75 | Stage 1Porec - Funtana (142.0km) | 142.0km |
| 13-03 | 105 | 105 | PrologueVrsar - Vrsar (1.0km) | 1.0km |
| 05-03 | DNF | | Trofeo Laigueglia (1.Pro) | 190.0km |
| | | Tour du Rwanda (2.1) |
| 5 | | Klassement |
| 2 | | Jongeren |
| 02-03 | NR | 5 | Stage 7Kigali - Kigali (73.0km) | 73.0km |
| 01-03 | 8 | 5 | Stage 6Nyanza - Kigali (114.0km) | 114.0km |
| 28-02 | 14 | 6 | Stage 5Rusizi - Huye (143.0km) | 143.0km |
| 27-02 | 10 | 6 | Stage 4Rubavu - Karongi (97.0km) | 97.0km |
| 26-02 | 12 | 6 | Stage 3Musanze - Rubavu (121.0km) | 121.0km |
| 25-02 | 15 | 5 | Stage 2Kigali - Musanze (113.0km) | 113.0km |
| 24-02 | 40 | 7 | Stage 1Rukomo - Kayonza (158.0km) | 158.0km |
| 23-02 | 9 | 9 | PrologueKigali - Kigali (3.0km) | 3.0km |
| 17-02 | 32 | | Clásica Jaén (1.1) | 169.0km |
| 15-02 | 9 | | Vuelta a la Región de Murcia “Costa Cálida” (1.1) | 199.0km |
| | | AlUla Tour (2.1) |
| 46 | | Klassement |
| 20 | | Jongeren |
| 01-02 | 93 | 46 | Stage 5AlUla Camel Cup Track - AlUla Camel Cup Track (169.0km) | 169.0km |
| 31-01 | 18 | 22 | Stage 4Maraya - Skyviews of Harrat Uwayrid (140.0km) | 140.0km |
| 30-01 | 71 | 30 | Stage 3Hegra - Tayma Fort (180.0km) | 180.0km |
| 29-01 | 20 | 32 | Stage 2AlUla Old Town - Bir Jaydah Mountain Wirkah (132.0km) | 132.0km |
| 28-01 | 83 | 84 | Stage 1Al Manshiyah - Al Manshiyah (142.0km) | 142.0km |