| 21-09 | 32 | | Giro della Romagna (1.1) | 197.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 13-09 | DNF | | Memorial Marco Pantani (1.1) | 195.0km |
| 11-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 10-09 | 69 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| 07-09 | 63 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| 03-08 | 43 | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 172.0km |
| 21-07 | 59 | | Clásica Terres de l´Ebre (1.1) | 186.0km |
| 29-06 | 54 | | National Road Championships - Spain (CN) | 191.0km |
| 27-06 | 30 | | National Road Championships - Spain TT (CN) | 14.0km |
| 22-06 | 37 | | Andorra MoraBanc Clàssica (1.1) | 138.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 12 | | Klassement |
| 5 | | Berg |
| 6 | | Jongeren |
| 21-06 | 21 | 12 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 11 | 12 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 62 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 79 | 79 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Tour of Slovenia (2.Pro) |
| 49 | | Klassement |
| 08-06 | 41 | 49 | Stage 5Litija - Novo Mesto (123.0km) | 123.0km |
| 07-06 | 28 | 56 | Stage 4Maribor - Golte (175.0km) | 175.0km |
| 06-06 | 53 | 88 | Stage 3Majšperk - Ormož (173.0km) | 173.0km |
| 05-06 | 99 | 101 | Stage 2Velenje - Rogaška Slatina (157.0km) | 157.0km |
| 04-06 | 76 | 77 | Stage 1Piran - Škofljica (168.0km) | 168.0km |
| | | Grande Prémio Internacional Beiras e Serra da Estrela (2.1) |
| 31 | | Klassement |
| 15 | | Berg |
| 25-05 | 10 | 31 | Stage 3Pinhel - Seia (180.0km) | 180.0km |
| 24-05 | 45 | 45 | Stage 2Figueira de Castelo Rodrigo - Celorico da Beira (188.0km) | 188.0km |
| 23-05 | 40 | 40 | Stage 1Almeida - Penamacor (191.0km) | 191.0km |
| | | Presidential Cycling Tour of Turkiye (2.Pro) |
| 30 | | Klassement |
| 04-05 | 73 | 30 | Stage 8Çeşme - İzmir (105.0km) | 105.0km |
| 03-05 | 73 | 30 | Stage 7Selçuk - Çeşme (144.0km) | 144.0km |
| 02-05 | 19 | 30 | Stage 6Kusadasi - Selçuk (161.0km) | 161.0km |
| 01-05 | | 39 | Stage 5Marmaris - Aydin (151.0km) | 151.0km |
| 30-04 | 50 | 39 | Stage 4Marmaris - Akkaya (115.0km) | 115.0km |
| 29-04 | 33 | 37 | Stage 3Fethiye - Marmaris (175.0km) | 175.0km |
| 28-04 | 40 | 48 | Stage 2Kemer - Kalkan (167.0km) | 167.0km |
| 27-04 | 111 | 111 | Stage 1Antalya - Antalya (132.0km) | 132.0km |
| 19-04 | 62 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 18-04 | 78 | | Classic Grand Besançon Doubs (1.1) | 168.0km |
| 23-03 | DNF | | Cholet Agglo Tour (1.1) | 205.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) |
| 64 | | Klassement |
| 22 | | Berg |
| 23-02 | 64 | 64 | Stage 5Benahavís - La Línea (168.0km) | 168.0km |
| 22-02 | 66 | 61 | Stage 4Córdoba - Alhaurín de la Torre (194.0km) | 194.0km |
| 21-02 | 75 | 67 | Stage 3Arjona - Pozoblanco (162.0km) | 162.0km |
| 20-02 | 50 | 66 | Stage 2Alcaudete - Torredelcampo (133.0km) | 133.0km |
| 19-02 | 64 | 64 | Stage 1Torrox - Cueva de Nerja (162.0km) | 162.0km |
| | | Tour of Oman (2.Pro) |
| 33 | | Klassement |
| 14 | | Jongeren |
| 12-02 | 48 | 33 | Stage 5Imty - Jabal al Akhdhar (Green Mountain) (138.0km) | 138.0km |
| 11-02 | 29 | 16 | Stage 4Oman Across Ages Museum - Oman Convention & Exhibition Center (181.0km) | 181.0km |
| 10-02 | 17 | 17 | Stage 3Fanja - Eastern Mountain (180.0km) | 180.0km |
| 09-02 | 15 | 11 | Stage 2Al Rustaq Fort - Yitti Hills (202.0km) | 202.0km |
| 08-02 | 32 | 33 | Stage 1Bushar - Bimmah Sink Hole (177.0km) | 177.0km |
| 07-02 | 45 | | Muscat Classic (1.1) | 170.0km |
| 02-02 | 52 | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.0km |
| 24-01 | 37 | | Classica Camp de Morvedre (1.2) | 178.0km |