| 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 |
| 08-09 | 9 | 5 | Stage 6Southend-on-Sea - Harlow | 146.0km |
| 07-09 | 9 | 7 | Stage 5Felixstowe - Felixstowe | 192.0km |
| 06-09 | 21 | 7 | Stage 4Sherwood Forest - Newark-on-Trent | 166.0km |
| 05-09 | 6 | 7 | Stage 3Goole - Beverley | 154.0km |
| 04-09 | 9 | 9 | Stage 2Wrexham - Wrexham | 109.0km |
| 03-09 | 12 | 12 | Stage 1Altrincham - Manchester | 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 | | Standings |
| 37 | | Points |
| 15 | | Mountain |
| 4 | | Youth |
| 23-07 | 121 | 13 | Stage 21Saint-Quentin-en-Yvelines - Paris | 115.0km |
| 22-07 | 18 | 13 | Stage 20Belfort - Le Markstein | 133.0km |
| 21-07 | 10 | 13 | Stage 19Moirans-en-Montagne - Poligny | 173.0km |
| 20-07 | 123 | 16 | Stage 18Moûtiers - Bourg-en-Bresse | 185.0km |
| 19-07 | 72 | 16 | Stage 17Saint-Gervais Mont-Blanc - Courchevel | 166.0km |
| 18-07 | 48 | 12 | Stage 16Passy - Combloux | 22.0km |
| 16-07 | 28 | 12 | Stage 15Les Gets - Saint-Gervais Mont-Blanc | 179.0km |
| 15-07 | 12 | 11 | Stage 14Annemasse - Morzine | 152.0km |
| 14-07 | 5 | 8 | Stage 13Chatillon-sur-Chalaronne - Le Grand Colombier | 138.0km |
| 13-07 | 29 | 8 | Stage 12Roanne - Belleville-en-Beaujolais | 169.0km |
| 12-07 | 28 | 8 | Stage 11Clermont-Ferrand - Moulins | 180.0km |
| 11-07 | 33 | 8 | Stage 10Vulcania (Auvergne) - Issoire | 167.0km |
| 09-07 | 16 | 7 | Stage 9Saint-Léonard-de-Noblat - Puy de Dôme | 182.0km |
| 08-07 | 19 | 9 | Stage 8Libourne - Limoges | 201.0km |
| 07-07 | 16 | 9 | Stage 7Mont-de-Marsan - Bordeaux | 170.0km |
| 06-07 | 12 | 9 | Stage 6Tarbes - Cauterets-Cambasque | 145.0km |
| 05-07 | 17 | 13 | Stage 5Pau - Laruns | 163.0km |
| 04-07 | 66 | 15 | Stage 4Dax - Nogaro | 182.0km |
| 03-07 | 42 | 15 | Stage 3Amorebieta - Bayonne | 193.0km |
| 02-07 | 4 | 17 | Stage 2Vitoria-Gasteiz - San Sebastián | 209.0km |
| 01-07 | 29 | 29 | Stage 1Bilbao - Bilbao | 182.0km |
| | | Tour de Suisse (2.UWT) |
| 22 | | Standings |
| 18-06 | 18 | 22 | Stage 8Sankt Gallen - Abtwil | 25.0km |
| 17-06 | 12 | 22 | Stage 7Tübach - Weinfelden | 162.0km |
| 16-06 | | 25 | Stage 6La Punt - Oberwill | 215.0km |
| 15-06 | 18 | 25 | Stage 5Fiesch - La Punt | 211.0km |
| 14-06 | 77 | 33 | Stage 4Monthey - Leukerbad | 152.0km |
| 13-06 | 14 | 12 | Stage 3Tafers - Villars-sur-Ollon | 143.0km |
| 12-06 | 40 | 36 | Stage 2Beromünster - Nottwil | 173.0km |
| 11-06 | 49 | 49 | Stage 1Einsiedeln - Einsiedeln | 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 | | Mountain |
| 12-03 | DNF | | Stage 7San Benedetto del Tronto - San Benedetto del Tronto | 154.0km |
| 11-03 | 9 | 32 | Stage 6Osimo - Osimo | 194.0km |
| 10-03 | 37 | 50 | Stage 5Morro d'Oro - Sarnano Sassotetto | 168.0km |
| 09-03 | 78 | 66 | Stage 4Greccio - Tortoreto Lido | 219.0km |
| 08-03 | 92 | 49 | Stage 3Follonica - Foligno | 216.0km |
| 07-03 | 111 | 63 | Stage 2Camaiore - Follonica | 209.0km |
| 06-03 | 71 | 71 | Stage 1Lido di Camaiore - Lido di Camaiore | 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 | | Standings |
| 8 | | Points |
| 6 | | Mountain |
| 19-02 | 19 | 7 | Stage 5Lagoa - Lagoa | 24.0km |
| 18-02 | 1 | 1 | Stage 4Albufeira - Alto do Malhão | 177.0km |
| 17-02 | 13 | 6 | Stage 3Faro - Tavira | 203.0km |
| 16-02 | 8 | 18 | Stage 2Sagres - Alto da Fóia | 189.0km |
| 15-02 | 135 | 135 | Stage 1Portimão - Lagos | 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) | |