| 19-10 | DNF | | Veneto Classic (1.Pro) | 197.0km |
| 17-10 | DNF | | Serenissima Gravel (National) | 151.0km |
| 15-10 | DNF | | Giro del Veneto (1.Pro) | 169.0km |
| 12-10 | 213 | | UCI Gravel World Championship (CM) | 181.0km |
| 27-09 | DNF | | Arno Wallaard Memorial (1.2) | 188.0km |
| 14-09 | 12 | | GP Rik Van Looy (1.2) | 185.0km |
| 31-08 | 11 | | Ronde van de Achterhoek (1.2) | 192.0km |
| 30-08 | DNF | | Slag om Norg (1.2) | 166.0km |
| 23-08 | 28 | | UCI Gravel World Series - Monsterrando (National) | |
| 28-07 | 32 | | GP Raf Jonckheere - Westrozebeke (National) | 176.0km |
| 12-07 | 29 | | UCI Gravel World Series - Gravel One Fifty (National) | 153.0km |
| 29-06 | 27 | | National Road Championships - Ireland (CN) | |
| 13-06 | DNF | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| | | Flèche du Sud (2.2) |
| 71 | | Klassement |
| 34 | | Punten |
| 01-06 | 14 | 71 | Stage 4Esch-sur-Alzette - Esch-sur-Alzette (165.0km) | 165.0km |
| 31-05 | 75 | 75 | Stage 3Canach - Canach (195.0km) | 195.0km |
| 30-05 | 68 | 75 | Stage 2Sanem - Sanem (160.0km) | 160.0km |
| 29-05 | 87 | 87 | Stage 1Rumelange - Rumelange (151.0km) | 151.0km |
| 28-05 | 87 | 87 | PrologueDudelange - Dudelange (7.0km) | 7.0km |
| 01-05 | DNF | | Tintrio - Omloop van het Waasland (1.2) | 175.0km |
| 27-04 | 5 | | Rutland-Melton CiCLE Classic (1.2) | 177.0km |
| 12-04 | 60 | | Giro della Città Metropolitana di Reggio Calabria (1.1) | 183.0km |
| | | Olympia's Tour (2.2) |
| 64 | | Klassement |
| 30-03 | 73 | 64 | Stage 5Neede - Tiel (185.0km) | 185.0km |
| 29-03 | 95 | 79 | Stage 4Zwolle - Zwolle (195.0km) | 195.0km |
| 28-03 | 82 | 66 | Stage 3Kerkdriel - Rossum (148.0km) | 148.0km |
| 27-03 | 65 | 76 | Stage 2Beek - Beek (175.0km) | 175.0km |
| 26-03 | 115 | 115 | Stage 1Beltrum - Beltrum (10.0km) | 10.0km |
| 16-03 | 125 | | Popolarissima (1.2) | 174.0km |