| 30-12 | 25 | | UCI Cyclo-cross World Cup - Hulst (CDM) | |
| 28-12 | 2 | | Telenet Superprestige Diegem (C1) | |
| 26-12 | 3 | | UCI Cyclo-cross World Cup - Gavere (CDM) | |
| 23-12 | 8 | | UCI Cyclo-cross World Cup - Antwerpen (CDM) | |
| 17-12 | 1 | | UCI Cyclo-cross World Cup - Namur (CDM) | |
| 16-12 | 2 | | X²O Badkamers Trofee Herentals (C2) | |
| 08-10 | 1 | | UCI MTB World Cup XCO - Mont-Sainte-Anne (CDM) | |
| 06-10 | 4 | | UCI MTB World Cup XCO - Mont-Sainte-Anne (XCC) (CDM) | |
| 01-10 | 5 | | UCI MTB World Cup XCO - Snowshoe (CDM) | |
| 29-09 | 13 | | UCI MTB World Cup XCO - Snowshoe (XCC) (CDM) | |
| 24-09 | 36 | | Paris 2024 Test Event - MTB XCO (TE) | |
| | | Tour of Britain (2.Pro) |
| 09-09 | DNS | | Stage 7Tewkesbury - Gloucester (170.0km) | 170.0km |
| 08-09 | 9 | 5 | Stage 6Southend-on-Sea - Harlow (146.0km) | 146.0km |
| 07-09 | 9 | 7 | Stage 5Felixstowe - Felixstowe (192.0km) | 192.0km |
| 06-09 | 21 | 7 | Stage 4Sherwood Forest - Newark-on-Trent (166.0km) | 166.0km |
| 05-09 | 6 | 7 | Stage 3Goole - Beverley (154.0km) | 154.0km |
| 04-09 | 9 | 9 | Stage 2Wrexham - Wrexham (109.0km) | 109.0km |
| 03-09 | 12 | 12 | Stage 1Altrincham - Manchester (163.0km) | 163.0km |
| 27-08 | 3 | | UCI MTB World Cup XCO - Vallnord Pal Arinsal (CDM) | |
| 25-08 | 17 | | UCI MTB World Cup XCO - Vallnord Pal Arinsal (XCC) (CDM) | |
| 12-08 | 1 | | UCI World Championship Mountainbike Glasgow (CM) | |
| 10-08 | 3 | | UCI World Championship Mountainbike Glasgow (XCC) (CM) | |
| | | Tour de France (2.UWT) |
| 13 | | Klassement |
| 37 | | Punten |
| 15 | | Berg |
| 4 | | Jongeren |
| 23-07 | 121 | 13 | Stage 21Saint-Quentin-en-Yvelines - Paris (115.0km) | 115.0km |
| 22-07 | 18 | 13 | Stage 20Belfort - Le Markstein (133.0km) | 133.0km |
| 21-07 | 10 | 13 | Stage 19Moirans-en-Montagne - Poligny (173.0km) | 173.0km |
| 20-07 | 123 | 16 | Stage 18Moûtiers - Bourg-en-Bresse (185.0km) | 185.0km |
| 19-07 | 72 | 16 | Stage 17Saint-Gervais Mont-Blanc - Courchevel (166.0km) | 166.0km |
| 18-07 | 48 | 12 | Stage 16Passy - Combloux (22.0km) | 22.0km |
| 16-07 | 28 | 12 | Stage 15Les Gets - Saint-Gervais Mont-Blanc (179.0km) | 179.0km |
| 15-07 | 12 | 11 | Stage 14Annemasse - Morzine (152.0km) | 152.0km |
| 14-07 | 5 | 8 | Stage 13Chatillon-sur-Chalaronne - Le Grand Colombier (138.0km) | 138.0km |
| 13-07 | 29 | 8 | Stage 12Roanne - Belleville-en-Beaujolais (169.0km) | 169.0km |
| 12-07 | 28 | 8 | Stage 11Clermont-Ferrand - Moulins (180.0km) | 180.0km |
| 11-07 | 33 | 8 | Stage 10Vulcania (Auvergne) - Issoire (167.0km) | 167.0km |
| 09-07 | 16 | 7 | Stage 9Saint-Léonard-de-Noblat - Puy de Dôme (182.0km) | 182.0km |
| 08-07 | 19 | 9 | Stage 8Libourne - Limoges (201.0km) | 201.0km |
| 07-07 | 16 | 9 | Stage 7Mont-de-Marsan - Bordeaux (170.0km) | 170.0km |
| 06-07 | 12 | 9 | Stage 6Tarbes - Cauterets-Cambasque (145.0km) | 145.0km |
| 05-07 | 17 | 13 | Stage 5Pau - Laruns (163.0km) | 163.0km |
| 04-07 | 66 | 15 | Stage 4Dax - Nogaro (182.0km) | 182.0km |
| 03-07 | 42 | 15 | Stage 3Amorebieta - Bayonne (193.0km) | 193.0km |
| 02-07 | 4 | 17 | Stage 2Vitoria-Gasteiz - San Sebastián (209.0km) | 209.0km |
| 01-07 | 29 | 29 | Stage 1Bilbao - Bilbao (182.0km) | 182.0km |
| | | Tour de Suisse (2.UWT) |
| 22 | | Klassement |
| 18-06 | 18 | 22 | Stage 8Sankt Gallen - Abtwil (25.0km) | 25.0km |
| 17-06 | 12 | 22 | Stage 7Tübach - Weinfelden (162.0km) | 162.0km |
| 16-06 | | 25 | Stage 6La Punt - Oberwill (215.0km) | 215.0km |
| 15-06 | 18 | 25 | Stage 5Fiesch - La Punt (211.0km) | 211.0km |
| 14-06 | 77 | 33 | Stage 4Monthey - Leukerbad (152.0km) | 152.0km |
| 13-06 | 14 | 12 | Stage 3Tafers - Villars-sur-Ollon (143.0km) | 143.0km |
| 12-06 | 40 | 36 | Stage 2Beromünster - Nottwil (173.0km) | 173.0km |
| 11-06 | 49 | 49 | Stage 1Einsiedeln - Einsiedeln (12.0km) | 12.0km |
| 14-05 | 1 | | UCI MTB World Cup XCO - Nove Mesto Na Morave (CDM) | |
| 12-05 | 1 | | UCI MTB World Cup XCO - Nove Mesto Na Morave (XCC) (CDM) | |
| 07-05 | 1 | | Ökk Bike Revolution - Chur (HC) | |
| 29-04 | DNF | | MTB French Cup Powered By SKF - Guéret (HC) | |
| 28-04 | 3 | | MTB French Cup Powered By SKF - Guéret (XCC) (3) | |
| 23-04 | 2 | | Liège-Bastogne-Liège (1.UWT) | 258.0km |
| 19-04 | 18 | | La Flèche Wallonne (1.UWT) | 194.0km |
| 16-04 | 3 | | Amstel Gold Race (1.UWT) | 252.0km |
| 02-04 | 52 | | Ronde van Vlaanderen (1.UWT) | 273.0km |
| 29-03 | 11 | | Dwars door Vlaanderen (1.UWT) | 183.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 34 | | Berg |
| 12-03 | DNF | | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (154.0km) | 154.0km |
| 11-03 | 9 | 32 | Stage 6Osimo - Osimo (194.0km) | 194.0km |
| 10-03 | 37 | 50 | Stage 5Morro d'Oro - Sarnano Sassotetto (168.0km) | 168.0km |
| 09-03 | 78 | 66 | Stage 4Greccio - Tortoreto Lido (219.0km) | 219.0km |
| 08-03 | 92 | 49 | Stage 3Follonica - Foligno (216.0km) | 216.0km |
| 07-03 | 111 | 63 | Stage 2Camaiore - Follonica (209.0km) | 209.0km |
| 06-03 | 71 | 71 | Stage 1Lido di Camaiore - Lido di Camaiore (11.0km) | 11.0km |
| 04-03 | 1 | | Strade Bianche (1.UWT) | 184.0km |
| 25-02 | 5 | | Omloop Het Nieuwsblad Elite (1.UWT) | 207.0km |
| 19-02 | 13 | | X²O Badkamers Trofee (GC) | |
| | | Volta ao Algarve em Bicicleta (2.Pro) |
| 7 | | Klassement |
| 8 | | Punten |
| 6 | | Berg |
| 19-02 | 19 | 7 | Stage 5Lagoa - Lagoa (24.0km) | 24.0km |
| 18-02 | 1 | 1 | Stage 4Albufeira - Alto do Malhão (177.0km) | 177.0km |
| 17-02 | 13 | 6 | Stage 3Faro - Tavira (203.0km) | 203.0km |
| 16-02 | 8 | 18 | Stage 2Sagres - Alto da Fóia (189.0km) | 189.0km |
| 15-02 | 135 | 135 | Stage 1Portimão - Lagos (200.0km) | 200.0km |
| 11-02 | 7 | | Telenet Superprestige Cyclocross (GC) | |
| 22-01 | 5 | | UCI Cyclo-cross World Cup - Benidorm (CDM) | |
| 01-01 | 3 | | X2O Badkamers Trofee GP Sven Nys (C1) | |