| 12-10 | DNF | | UCI Gravel World Championship (CM) | 181.0km |
| 20-09 | 5 | | UCI Gravel World Series - Sea Otter Europe Girona (National) | |
| 13-09 | 1 | | UCI Gravel World Series - 66 Degrés Sud - Pyrénées Catalanes Gravel Tour (National) | |
| 23-08 | 1 | | UCI Gravel World Series - Monsterrando (National) | |
| 16-08 | 10 | | UCI Gravel World Series - Gravel Grit 'n Grind (National) | |
| | | Critérium du Dauphiné (2.UWT) |
| 26 | | Klassement |
| 28 | | Punten |
| 7 | | Berg |
| 15-06 | 43 | 26 | Stage 8Val d'Arc - Plateau du Mont-Cenis (133.0km) | 133.0km |
| 14-06 | 24 | 27 | Stage 7Grand-Algueblanche - Valmeinier (131.0km) | 131.0km |
| 13-06 | 55 | 40 | Stage 6Valserhône - Combloux (126.0km) | 126.0km |
| 12-06 | 92 | 33 | Stage 5Saint-Priest - Mâcon (183.0km) | 183.0km |
| 11-06 | 42 | 36 | Stage 4Charmes-sur-Rhône - Saint-Peray (17.0km) | 17.0km |
| 10-06 | 47 | 39 | Stage 3Brioude - Charantonnay (207.0km) | 207.0km |
| 09-06 | 56 | 45 | Stage 2Prémilhat - Issoire (204.0km) | 204.0km |
| 08-06 | 54 | 55 | Stage 1Domerat - Montlucon (195.0km) | 195.0km |
| | | Giro d'Italia (2.UWT) |
| 26 | | Klassement |
| 40 | | Punten |
| 8 | | Berg |
| 01-06 | 120 | 26 | Stage 21Rome - Rome (143.0km) | 143.0km |
| 31-05 | 25 | 26 | Stage 20Verrès - Sestriere (205.0km) | 205.0km |
| 30-05 | 28 | 27 | Stage 19Biella - Champoluc (166.0km) | 166.0km |
| 29-05 | 135 | 29 | Stage 18Morbegno - Cesano Maderno (144.0km) | 144.0km |
| 28-05 | 2 | 29 | Stage 17San Michele all'Adige - Bormio (155.0km) | 155.0km |
| 27-05 | 53 | 32 | Stage 16Piazzola sul Brenta - San Valentino di Brentonico (203.0km) | 203.0km |
| 25-05 | 4 | 30 | Stage 15Fiume - Asiago (219.0km) | 219.0km |
| 24-05 | 13 | 36 | Stage 14Treviso - Nova Gorica (195.0km) | 195.0km |
| 23-05 | 58 | 41 | Stage 13Rovigo - Viacenza (180.0km) | 180.0km |
| 22-05 | 155 | 43 | Stage 12Modena - Viadana (172.0km) | 172.0km |
| 21-05 | 42 | 42 | Stage 11Viareggio - Castelnovo ne' Monti (186.0km) | 186.0km |
| 20-05 | 62 | 50 | Stage 10Lucca - Pisa (28.0km) | 28.0km |
| 18-05 | 120 | 52 | Stage 9Gubbio - Siena (181.0km) | 181.0km |
| 17-05 | 9 | 34 | Stage 8Giulianova - Castelraimondo (197.0km) | 197.0km |
| 16-05 | 57 | 38 | Stage 7Castel di Sangro - Tagliacozzo (168.0km) | 168.0km |
| 15-05 | 104 | 20 | Stage 6Potenza - Napoli (227.0km) | 227.0km |
| 14-05 | 25 | 21 | Stage 5Ceglie Messapica - Matera (151.0km) | 151.0km |
| 13-05 | 52 | 21 | Stage 4Alberobello - Lecce (189.0km) | 189.0km |
| 11-05 | 50 | 22 | Stage 3Vlora - Vlora (160.0km) | 160.0km |
| 10-05 | 51 | 23 | Stage 2Tirana - Tirana (13.0km) | 13.0km |
| 09-05 | 16 | 16 | Stage 1Durazzo - Tirana (160.0km) | 160.0km |
| 27-04 | 82 | | Liège-Bastogne-Liège (1.UWT) | 252.0km |
| | | Tour of the Alps (2.Pro) |
| 10 | | Klassement |
| 11 | | Punten |
| 23 | | Berg |
| 25-04 | 22 | 10 | Stage 5Lienz - Lienz (112.0km) | 112.0km |
| 24-04 | 9 | 7 | Stage 4Sillian - Obertilliach (162.0km) | 162.0km |
| 23-04 | 10 | 6 | Stage 3Sterzing-Ratschings - San Candido (145.0km) | 145.0km |
| 22-04 | 3 | 5 | Stage 2Mezzolombardo - Sterzing-Ratschings (178.0km) | 178.0km |
| 21-04 | 4 | 4 | Stage 1San Lorenzo Dorsino - San Lorenzo Dorsino (143.0km) | 143.0km |
| 02-03 | DNF | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 67 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Volta ao Algarve em Bicicleta (2.Pro) |
| 21-02 | DNF | | Stage 3Vila Real de Santo António - Tavira (183.0km) | 183.0km |
| 20-02 | 4 | 4 | Stage 2Lagoa - Alto da Fóia (177.0km) | 177.0km |
| 19-02 | DF | | Stage 1Portimão - Lagos (190.0km) | 190.0km |
| 16-02 | 12 | | Figueira Champions Classic (1.Pro) | 192.0km |