| 17-10 | 3 | | Serenissima Gravel (National) | 151.0km |
| 12-10 | 190 | | UCI Gravel World Championship (CM) | 181.0km |
| 05-10 | DNF | | UEC Road European Championships (CC) | 202.0km |
| 28-09 | 2 | | National Gravel Championships - Netherlands (CN) | 127.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 29 | | Klassement |
| 10 | | Punten |
| 13 | | Jongeren |
| 21-09 | 16 | 29 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 36 | 41 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 51 | 46 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 4 | 5 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 5 | 5 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 31-08 | 31 | | Bretagne Classic - Ouest-France (1.UWT) | 261.0km |
| | | Renewi Tour (2.UWT) |
| 9 | | Klassement |
| 16 | | Punten |
| 1 | | Jongeren |
| 24-08 | 19 | 9 | Stage 5Leuven - Leuven (185.0km) | 185.0km |
| 23-08 | 26 | 7 | Stage 4Riemst - Bilzen (196.0km) | 196.0km |
| 22-08 | 4 | 6 | Stage 3Aalter - Geraardsbergen (179.0km) | 179.0km |
| 21-08 | 44 | 33 | Stage 2Blankenberge - Ardooie (169.0km) | 169.0km |
| 20-08 | 26 | 29 | Stage 1Terneuzen - Breskens (182.0km) | 182.0km |
| | | PostNord Tour of Denmark (2.Pro) |
| 10 | | Klassement |
| 7 | | Punten |
| 16-08 | 11 | 10 | Stage 5Hobro - Silkeborg (157.0km) | 157.0km |
| 15-08 | 2 | 9 | Stage 4Svendborg - Vejle (226.0km) | 226.0km |
| 14-08 | 28 | 23 | Stage 3Kerteminde - Kerteminde (14.0km) | 14.0km |
| 13-08 | 34 | 32 | Stage 2Rødovre - Gladsaxe (110.0km) | 110.0km |
| 12-08 | 48 | 47 | Stage 1Nexø - Rønne (178.0km) | 178.0km |
| 05-08 | 8 | | Spektakel van Steenwijk (CRTP) | 80.0km |
| 04-08 | 4 | | Draai van de Kaai (CRTP) | |
| 03-08 | 3 | | Gouden Pijl Emmen (CRTP) | 100.0km |
| 02-08 | 87 | | Donostia San Sebastian Klasikoa (1.UWT) | 211.0km |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 12 | | Klassement |
| 16 | | Punten |
| 4 | | Jongeren |
| 30-07 | 10 | 12 | Stage 5Bertrix - Bertrix (183.0km) | 183.0km |
| 29-07 | 34 | 13 | Stage 4Welkenraedt - Seraing (163.0km) | 163.0km |
| 28-07 | 5 | 13 | Stage 3Estinnes - Antoing (165.0km) | 165.0km |
| 27-07 | 14 | 13 | Stage 2Huy - Sambreville (153.0km) | 153.0km |
| 26-07 | 7 | 7 | Stage 1Nassogne - Nassogne (182.0km) | 182.0km |
| 28-06 | 8 | | National Road Championships - Netherlands (CN) | 163.0km |
| 22-06 | 15 | | Copenhagen Sprint (1.UWT) | 235.0km |
| 14-06 | 3 | | Duracell Dwars door het Hageland (1.Pro) | 180.0km |
| 09-06 | 5 | | Antwerp Port Epic / Sels Trophy (1.1) | 180.0km |
| 08-06 | 26 | | Brussels Cycling Classic (1.Pro) | 205.0km |
| 06-06 | 6 | | Ridderronde van Maastricht (CRTP) | |
| | | Tour of Norway (2.Pro) |
| 5 | | Klassement |
| 3 | | Punten |
| 3 | | Jongeren |
| 01-06 | 5 | 5 | Stage 4Stavanger - Stavanger (130.0km) | 130.0km |
| 31-05 | 10 | 4 | Stage 3Jørpeland - Heia (141.0km) | 141.0km |
| 30-05 | 7 | 3 | Stage 2Egersund - Oltedal (208.0km) | 208.0km |
| 29-05 | 3 | 3 | Stage 1Sola - Sola (179.0km) | 179.0km |
| | | Presidential Cycling Tour of Turkiye (2.Pro) |
| 36 | | Klassement |
| 2 | | Punten |
| 04-05 | 38 | 36 | Stage 8Çeşme - İzmir (105.0km) | 105.0km |
| 03-05 | 8 | 36 | Stage 7Selçuk - Çeşme (144.0km) | 144.0km |
| 02-05 | 63 | 36 | Stage 6Kusadasi - Selçuk (161.0km) | 161.0km |
| 01-05 | | 35 | Stage 5Marmaris - Aydin (151.0km) | 151.0km |
| 30-04 | 40 | 35 | Stage 4Marmaris - Akkaya (115.0km) | 115.0km |
| 29-04 | 3 | 1 | Stage 3Fethiye - Marmaris (175.0km) | 175.0km |
| 28-04 | 1 | 1 | Stage 2Kemer - Kalkan (167.0km) | 167.0km |
| 27-04 | 65 | 68 | Stage 1Antalya - Antalya (132.0km) | 132.0km |
| 18-04 | 10 | | De Brabantse Pijl (1.Pro) | 175.0km |
| 16-04 | 30 | | Ronde van Limburg (1.1) | 176.0km |
| 02-04 | 6 | | Dwars door Vlaanderen (1.UWT) | 184.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 30-03 | DNS | | Stage 7Barcelona - Barcelona (88.0km) | 88.0km |
| 29-03 | 14 | 80 | Stage 6Berga - Nuestra Senore de Queralt (25.0km) | 25.0km |
| 28-03 | 2 | 83 | Stage 5Paüls - Amposta (172.0km) | 172.0km |
| 27-03 | 69 | 85 | Stage 4Sant Vicenç de Castellet - Monasterio de Montserrat (188.0km) | 188.0km |
| 26-03 | 140 | 101 | Stage 3Viladecans - La Molina (218.0km) | 218.0km |
| 25-03 | 60 | 3 | Stage 2Banyoles - Figueres (177.0km) | 177.0km |
| 24-03 | 3 | 3 | Stage 1Sant Feliu de Guíxols - Sant Feliu de Guíxols (178.0km) | 178.0km |
| 20-03 | 25 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 197.0km |
| | | Paris-Nice (2.UWT) |
| 81 | | Klassement |
| 21 | | Jongeren |
| 16-03 | 54 | 81 | Stage 8Nice - Nice (119.0km) | 119.0km |
| 15-03 | 110 | 84 | Stage 7Nice - Auron (109.0km) | 109.0km |
| 14-03 | 125 | 67 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang (209.0km) | 209.0km |
| 13-03 | 67 | 56 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André (203.0km) | 203.0km |
| 12-03 | 55 | 53 | Stage 4Vichy - La Loge des Gardes (163.0km) | 163.0km |
| 11-03 | 18 | 52 | Stage 3Circuit Nevers Magny-Cours - Nevers (28.0km) | 28.0km |
| 10-03 | 11 | 33 | Stage 2Montesson - Bellegarde (183.0km) | 183.0km |
| 09-03 | 71 | 72 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines (156.0km) | 156.0km |
| 01-02 | 1 | | UCI Cyclo-cross World Championships Liévin U23 (CM) | |
| 26-01 | 1 | | UCI Cyclo-cross World Cup - Hoogerheide U23 (CDM) | |
| 19-01 | 1 | | UCI Cyclo-cross World Cup - Benidorm U23 (CDM) | |
| 12-01 | 1 | | Dutch National Championships CX (CN) | |
| 12-01 | 1 | | Dutch National Championships CX U23 (CN) | |
| 03-01 | 2 | | X²O Badkamers Trofee - Vlaamse Duinencross (C1) | |