| 12-10 | 47 | | Paris - Tours Elite (1.Pro) | 211.0km |
| | | Petronas Le Tour de Langkawi (2.Pro) |
| 1 | | Klassement |
| 30 | | Punten |
| 5 | | Berg |
| 05-10 | 17 | 1 | Stage 8Tangkak - Kuala Lumpur (180.0km) | 180.0km |
| 04-10 | 43 | 1 | Stage 7Melaka - Medini (214.0km) | 214.0km |
| 03-10 | 58 | 1 | Stage 6Shah Alam - Port Dickson (123.0km) | 123.0km |
| 02-10 | 1 | 1 | Stage 5Temerloh - Frasers Hill (123.0km) | 123.0km |
| 01-10 | 32 | 13 | Stage 4Kuala Terengganu - Kemaman (140.0km) | 140.0km |
| 30-09 | 33 | 11 | Stage 3Gerik - Pasir Puteh (198.0km) | 198.0km |
| 29-09 | 94 | 12 | Stage 2Padang Besar - Kepala Batas (167.0km) | 167.0km |
| 28-09 | 109 | 109 | Stage 1Langkawi - Langkawi (96.0km) | 96.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 13-09 | DNF | | Memorial Marco Pantani (1.1) | 195.0km |
| 10-09 | 17 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| 07-09 | 23 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 24 | | Klassement |
| 13 | | Jongeren |
| 24-08 | 43 | 24 | Stage 4Halle - Magdeburg (163.0km) | 163.0km |
| 23-08 | 23 | 25 | Stage 3Arnsberg - Kassel (175.0km) | 175.0km |
| 22-08 | 42 | 38 | Stage 2Herford - Arnsberg (190.0km) | 190.0km |
| 21-08 | 64 | 61 | Stage 1Essen - Herford (202.0km) | 202.0km |
| 20-08 | 69 | 69 | PrologueEssen - Essen (3.0km) | 3.0km |
| | | Arctic Race of Norway (2.Pro) |
| 20 | | Klassement |
| 11 | | Jongeren |
| 10-08 | 16 | 20 | Stage 4Tromsø - Tromsø (135.0km) | 135.0km |
| 09-08 | 28 | 27 | Stage 3Husøy - Målselv (182.0km) | 182.0km |
| 08-08 | 38 | 24 | Stage 2Tennevoll - Sørreisa (166.0km) | 166.0km |
| 07-08 | 17 | 20 | Stage 1Borkenes - Harstad (182.0km) | 182.0km |
| 03-08 | 9 | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 172.0km |
| 27-07 | 59 | | Vuelta a Castilla y Leon (1.1) | 201.0km |
| 25-07 | 20 | | Prueba Villafranca - Ordiziako Klasika (1.1) | 168.0km |
| 21-07 | 7 | | Clásica Terres de l´Ebre (1.1) | 186.0km |
| 29-06 | DNF | | National Road Championships - France (CN) | 231.0km |
| 22-06 | 52 | | Andorra MoraBanc Clàssica (1.1) | 138.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 75 | | Klassement |
| 32 | | Jongeren |
| 21-06 | 55 | 75 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 95 | 90 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 83 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 68 | 68 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| 09-06 | 66 | | Antwerp Port Epic / Sels Trophy (1.1) | 180.0km |
| 08-06 | 43 | | Brussels Cycling Classic (1.Pro) | 205.0km |
| 26-05 | DNF | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| 10-05 | 55 | | Grand Prix du Morbihan (1.Pro) | 196.0km |
| 08-05 | 61 | | Boucles de l'Aulne - Châteaulin (1.1) | 183.0km |
| | | Vuelta Asturias Julio Alvarez Mendo (2.1) |
| 8 | | Klassement |
| 27-04 | 8 | 8 | Stage 4Ribera de Arriba - Ribadesella (198.0km) | 198.0km |
| 26-04 | 31 | 10 | Stage 3Benia de Onís - Oviedo (142.0km) | 142.0km |
| 25-04 | 12 | 9 | Stage 2Oriente - Oriente (184.0km) | 184.0km |
| 24-04 | 6 | 6 | Stage 1Oviedo - Oriente (179.0km) | 179.0km |
| 20-04 | 27 | | Tour du Doubs (1.1) | 196.0km |
| 19-04 | 32 | | Tour du Jura Cycliste (1.1) | 176.0km |
| | | Itzulia Basque Country (2.UWT) |
| 84 | | Klassement |
| 12-04 | 87 | 84 | Stage 6Eibar - Eibar (153.0km) | 153.0km |
| 11-04 | 72 | 93 | Stage 5Urduña - Gernika (175.0km) | 175.0km |
| 10-04 | 106 | 135 | Stage 4Beasain - Markina-Xemein (169.0km) | 169.0km |
| 09-04 | 152 | 137 | Stage 3Zarautz - Beasain (156.0km) | 156.0km |
| 08-04 | 73 | 127 | Stage 2Pamplona - Lodosa (199.0km) | 199.0km |
| 07-04 | 127 | 127 | Stage 1Vitoria-Gasteiz - Vitoria-Gasteiz (16.0km) | 16.0km |
| 05-04 | 36 | | Gran Premio Miguel Indurain (1.Pro) | 198.0km |
| 02-04 | 34 | | Paris - Camembert (1.1) | 199.0km |
| 30-03 | 45 | | La Roue Tourangelle (1.1) | 197.0km |
| 19-03 | 67 | | Milano - Torino (1.Pro) | 174.0km |
| | | Tour du Rwanda (2.1) |
| 6 | | Klassement |
| 02-03 | NR | 6 | Stage 7Kigali - Kigali (73.0km) | 73.0km |
| 01-03 | 15 | 6 | Stage 6Nyanza - Kigali (114.0km) | 114.0km |
| 28-02 | 11 | 1 | Stage 5Rusizi - Huye (143.0km) | 143.0km |
| 27-02 | 1 | 1 | Stage 4Rubavu - Karongi (97.0km) | 97.0km |
| 26-02 | 6 | 2 | Stage 3Musanze - Rubavu (121.0km) | 121.0km |
| 25-02 | 17 | 3 | Stage 2Kigali - Musanze (113.0km) | 113.0km |
| 24-02 | 8 | 3 | Stage 1Rukomo - Kayonza (158.0km) | 158.0km |
| 23-02 | 4 | 4 | PrologueKigali - Kigali (3.0km) | 3.0km |
| 16-02 | 97 | | Clasica de Almeria (1.Pro) | 189.0km |
| 15-02 | 32 | | Vuelta a la Región de Murcia “Costa Cálida” (1.1) | 199.0km |
| | | AlUla Tour (2.1) |
| 50 | | Klassement |
| 28 | | Punten |
| 21 | | Jongeren |
| 01-02 | 85 | 50 | Stage 5AlUla Camel Cup Track - AlUla Camel Cup Track (169.0km) | 169.0km |
| 31-01 | 9 | 25 | Stage 4Maraya - Skyviews of Harrat Uwayrid (140.0km) | 140.0km |
| 30-01 | 65 | 38 | Stage 3Hegra - Tayma Fort (180.0km) | 180.0km |
| 29-01 | 27 | 39 | Stage 2AlUla Old Town - Bir Jaydah Mountain Wirkah (132.0km) | 132.0km |
| 28-01 | 88 | 89 | Stage 1Al Manshiyah - Al Manshiyah (142.0km) | 142.0km |