| 2024-04-21 | 9 |  British Cycling National Cross Country Series Round 1 |  | 0 | 01:44:57.000 | 0 | 
| 2024-03-17 | DNS |  MTB French Cup Powered By SKF - XCO/XCC/XCE + UCI XCO Junior Series |  | 0 | 00:00:00.000 |  | 
| 2024-03-17 | 30 |  MTB French Cup Powered By SKF - XCO/XCC/XCE + UCI XCO Junior Series |  | 0 | 01:27:43.000 | 0 | 
| 2024-03-15 | DNS |  MTB French Cup Powered By SKF - XCO/XCC/XCE + UCI XCO Junior Series |  | 0 | 00:00:00.000 |  | 
| 2024-02-24 | 28 |  Shimano Supercup Massi Banyoles |  | 0 | 01:18:20.000 | 0 | 
| 2024-01-13 | 15 |  National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2023-09-10 | 59 |  UCI MTB World Cup - Les Portes du Soleil |  | 0 | 01:12:13.000 | 0 | 
| 2023-08-28 | 58 |  UCI World Championships Glasgow | MU | 0 | 01:26:11.000 | 0 | 
| 2023-08-27 | 25 |  UCI MTB World Cup - Andorra |  | 0 | 01:06:49.000 | 0 | 
| 2023-08-11 | 58 |  UCI Cycling World Championships |  | 0 | 01:26:11.000 | 0 | 
| 2023-07-02 | 48 |  UCI MTB World Cup - Val di Sole |  | 0 | 01:14:54.000 | 0 | 
| 2023-06-11 | 52 |  UCI MTB World Cup - Lenzerheide |  | 0 | 01:19:41.000 | 0 | 
| 2023-05-13 | 47 |  UCI MTB World Cup - Nové Město na Moravě |  | 0 | 01:13:26.000 | 0 | 
| 2023-01-15 | DNF |  National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2022-11-13 | DNS |  UCI World Cup Beekse Bergen | ME | 0 | 00:00:00.000 |  | 
| 2022-11-11 | 35 |  Telenet Superprestige Jaarmarktcross Niel | ME | 0 | 00:00:00.000 |  | 
| 2022-11-05 | 23 |  European Continental Championships MU | MU | 0 | 00:56:49.000 | 0 | 
| 2022-11-01 | 15 |  Koppenbergcross – Melden | MU | 0 | 00:52:04.000 | 0 | 
| 2022-10-30 | 27 |  UCI World Cup Maasmechelen | MU | 0 | 00:53:27.000 | 0 | 
| 2022-10-23 | 6 |  National Trophy Series Round 2 | ME | 0 | 01:00:59.000 | 0 | 
| 2022-10-09 | 5 |  National Trophy Series Round 1: Derby | ME | 0 | 01:02:49.000 | 0 | 
| 2022-08-24 | 33 |  UCI World Championships Les Gets | MU | 0 | 01:16:34.000 | 0 | 
| 2022-01-16 | 7 |  National Trophy Series Round 6: Broughton Hall | ME | 0 | 00:59:28.000 | 0 | 
| 2022-01-02 | 38 |  UCI World Cup Hulst | ME | 25.27 | 00:00:00.000 |  | 
| 2022-01-01 | 12 |  X²O Badkamers Trofee GP Sven Nys | MU | 0 | 01:38:04.000 | 0 | 
| 2021-12-30 | 24 |  X²O Badkamers Trofee Azencross | MU | 0 | 00:54:00.000 | 0 | 
| 2021-12-27 | 39 |  Telenet Superprestige Heusden-Zolder | ME | 0 | 00:00:00.000 |  | 
| 2021-12-26 | 25 |  UCI World Cup Dendermonde | MU | 0 | 00:53:08.000 | 0 | 
| 2021-12-19 | 17 |  UCI World Cup Namur | MU | 0 | 00:56:25.000 | 0 | 
| 2021-12-12 | 7 |  National Trophy Series Round 5: Cyclopark | ME | 0 | 01:02:11.000 | 0 | 
| 2021-12-11 | 2 |  Clanfield CX | ME | 0 | 00:57:58.000 | 0 | 
| 2021-11-21 | 1 |  National Trophy Series Round 4: Sunderland | ME | 0 | 00:58:17.000 | 0 | 
| 2021-11-13 | 14 |  GP Leuven | ME | 0 | 00:58:28.000 | 0 | 
| 2021-11-11 | 25 |  Telenet Superprestige Jaarmarktcross | ME | 0 | 00:00:00.000 |  | 
| 2021-11-01 | 10 |  X²O Badkamers Trofee Koppenbergcross | MU | 0 | 00:49:41.000 | 0 | 
| 2021-10-31 | 31 |  UCI World Cup Overijse | ME | 0 | 01:06:32.000 | 0 | 
| 2021-10-24 | 7 |  National Trophy Series Round 3: Callender Park | ME | 0 | 01:05:57.000 | 0 | 
| 2021-10-10 | 8 |  National Trophy Series Round 2: Milnthorpe | ME | 0 | 01:06:20.000 | 0 | 
| 2021-09-19 | 4 |  National Trophy Series Round 1: Derby | ME | 0 | 01:02:52.000 | 0 | 
| 2021-01-31 | 27 |  UCI World Championship U23 | MU | 0 | 00:54:29.000 | 0 | 
| 2020-12-20 | 48 |  UCI World Cup Namur | ME | 0 | 00:00:00.000 |  | 
| 2020-11-07 | 19 |  UEC Cyclo-Cross European Championships U23 | MU | 0 | 00:54:24.000 | 0 | 
| 2020-10-10 | 32 |  UCI World Championships Leogang | mj | 0 | 01:29:34.000 | 0 | 
| 2020-02-02 | 9 |  UCI World Championship MJ | MJ | 0 | 00:40:27.000 | 0 | 
| 2020-01-26 | 21 |  UCI World Cup Hoogerheide | MJ | 0 | 00:42:50.000 | 0 | 
| 2020-01-12 | 1 |  National Championships Great Britain MJ | MJ | 0 | 00:42:12.000 | 0 | 
| 2019-12-30 | 6 |  Cyclocross Bredene | MJ | 0 | 00:42:12.000 | 0 | 
| 2019-12-29 | 8 |  Telenet Superprestige Diegem | MJ | 0 | 00:40:13.000 | 0 | 
| 2019-12-27 | 4 |  DVV Verzekeringen trofee Azencross | MJ | 0 | 00:41:08.000 | 0 | 
| 2019-12-22 | 6 |  UCI World Cup Namur | MJ | 0 | 00:41:54.000 | 0 | 
| 2019-12-15 | 1 |  National Trophy Series Round 6: York | MJ | 0 | 00:39:32.000 | 0 | 
| 2019-11-24 | 26 |  UCI World Cup Koksijde | MJ | 0 | 00:46:10.000 | 0 | 
| 2019-11-16 | 15 |  UCI World Cup Tábor | MJ | 0 | 00:42:37.000 | 0 | 
| 2019-11-10 | 17 |  UEC Cyclo-Cross European Championships MJ | MJ | 0 | 00:44:34.000 | 0 | 
| 2019-10-27 | 6 |  National Trophy Series Round 3: Irvine | MJ | 0 | 00:43:46.000 | 0 | 
| 2019-10-06 | 1 |  National Trophy Series Round 2: Milnthorpe | MJ | 0 | 00:40:34.000 | 0 | 
| 2019-09-22 | 1 |  National Trophy Series Round 1: Derby | MJ | 0 | 00:45:27.000 | 0 | 
| 2019-02-02 | 23 |  UCI World Championship MJ | MJ | 0 | 00:44:43.000 | 0 | 
| 2019-01-27 | 28 |  UCI World Cup Hoogerheide | MJ | 0 | 00:44:50.000 | 0 | 
| 2019-01-13 | 5 |  National Championships Great Britain MJ | MJ | 0 | 00:41:44.000 | 0 | 
| 2018-12-30 | 23 |  Telenet Superprestige Diegem | MJ | 0 | 00:40:07.000 | 0 | 
| 2018-12-29 | 12 |  Cyclocross Bredene | MJ | 0 | 00:42:46.000 | 0 | 
| 2018-11-17 | 31 |  UCI World Cup Tábor | MJ | 0 | 00:40:25.000 | 0 | 
| 2018-10-20 | 20 |  Telenet Superprestige De Schorre Boom | MJ | 0 | 00:43:07.000 | 0 | 
| 2018-10-07 | 6 |  National Trophy Series Round 1: Derby | MJ | 0 | 00:44:11.000 | 0 |