| 2025-11-02 | 14 |  Lloyds Cyclo-cross National Trophy Series Round 3: Clanfield | ME | 0 | 01:12:19.000 | 0 | 
| 2025-10-19 | 16 |  National Trophy Series Round 2: Falkirk | ME | 0 | 00:00:00.000 |  | 
| 2025-10-05 | 13 |  Lloyds Cyclo-cross National Trophy Series Round 1 | ME | 0 | 01:00:40.000 | 0 | 
| 2025-09-14 | 36 |  National Championships Great Britain ME - Gravel | me | 0 | 00:00:00.000 |  | 
| 2025-05-17 | 26 |  UCI Gravel World Series ME - The Gralloch | me | 110 | 03:24:14.280 | 32.316 | 
| 2025-01-30 | 24 |  Costa Blanca Bike Race  |  | 0 | 09:08:33.000 | 0 | 
| 2025-01-12 | 8 |  National Championships Great Britain ME | ME | 0 | 01:09:48.000 | 0 | 
| 2024-10-06 | 106 |  UCI Gravel World Championships | me | 182 | 05:06:45.000 | 35.599 | 
| 2024-09-22 | 7 |  UCI Gravel World Series ME - Graean Cymru | me | 113 | 03:34:30.000 | 31.608 | 
| 2024-09-15 | 20 |  Hope Supercross Round 2 | ME | 0 | 01:06:40.000 | 0 | 
| 2024-09-14 | 18 |  Hope Supercross Round 1 | ME | 0 | 01:04:02.000 | 0 | 
| 2024-09-08 | DNF |  National Championships Great Britain - XCM |  | 0 | 00:00:00.000 |  | 
| 2024-05-18 | 14 |  UCI Gravel World Series ME - The Gralloch | me | 110 | 03:21:46.000 | 32.711 | 
| 2024-05-12 | 4 |  British Cycling National Cross Country Series Round 2 |  | 0 | 01:39:12.000 | 0 | 
| 2024-04-27 | 14 |  Utopia Gravel Fest |  | 165 | 06:08:42.000 | 26.851 | 
| 2024-01-13 | 20 |  National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2023-12-09 | 12 |  National Trophy Series Round 5: Gravesend | ME | 0 | 01:18:18.000 | 0 | 
| 2023-10-28 | 23 |  National Trophy Series Round 3: Derby | ME | 0 | 01:07:50.000 | 0 | 
| 2023-10-14 | 11 |  National Trophy Series Round 2: Thornton in Craven | ME | 0 | 01:09:07.000 | 0 | 
| 2023-09-17 | 11 |  Hope Supercross - Round 3 Barnoldswick | ME | 0 | 01:02:57.000 | 0 | 
| 2023-09-10 | 2 |  Hope Supercross - Round 2 Bradford | ME | 0 | 01:02:25.000 | 0 | 
| 2023-09-03 | 5 |  Hope Supercross - Round 1 Herrington Country Park | ME | 0 | 01:07:04.000 | 0 | 
| 2023-01-15 | 17 |  National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2023-01-07 | DNF |  Clanfield Cross | ME | 0 | 00:00:00.000 |  | 
| 2022-12-18 | 15 |  National Trophy Series Round 5: Broughton Hall  | ME | 0 | 01:04:23.000 | 0 | 
| 2022-11-20 | 10 |  National Trophy Series Round 4: Torbay Velo Park | ME | 0 | 01:04:56.000 | 0 | 
| 2022-11-19 | 11 |  Andover Supercross | ME | 0 | 01:00:25.000 | 0 | 
| 2022-10-30 | 10 |  National Trophy Series Round 3 | ME | 0 | 01:05:30.000 | 0 | 
| 2022-10-23 | 20 |  National Trophy Series Round 2 | ME | 0 | 01:04:51.000 | 0 | 
| 2022-10-09 | 16 |  National Trophy Series Round 1: Derby | ME | 0 | 01:04:51.000 | 0 | 
| 2022-01-16 | 14 |  National Trophy Series Round 6: Broughton Hall | ME | 0 | 01:01:20.000 | 0 | 
| 2022-01-09 | 16 |  National Championships Great Britain ME | ME | 0 | 01:03:57.000 | 0 | 
| 2021-12-12 | 13 |  National Trophy Series Round 5: Cyclopark | ME | 0 | 01:05:45.000 | 0 | 
| 2021-12-11 | 10 |  Clanfield CX | ME | 0 | 01:01:50.000 | 0 | 
| 2021-11-21 | 11 |  National Trophy Series Round 4: Sunderland | ME | 0 | 01:00:29.000 | 0 | 
| 2021-10-10 | 30 |  National Trophy Series Round 2: Milnthorpe | ME | 0 | 01:10:11.000 | 0 | 
| 2021-09-19 | 25 |  National Trophy Series Round 1: Derby | ME | 0 | 01:05:46.000 | 0 | 
| 2020-01-12 | 22 |  National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2019-12-15 | 12 |  National Trophy Series Round 6: York | ME | 0 | 01:04:50.000 | 0 | 
| 2019-11-10 | 33 |  National Trophy Series Round 4: Crawley | ME | 0 | 00:00:00.000 |  | 
| 2019-11-03 | 62 |  Telenet Superprestige Ruddervoorde | ME | 0 | 00:00:00.000 |  | 
| 2019-11-01 | 40 |  DVV Verzekeringen trofee Koppenbergcross | MU | 0 | 00:54:51.000 | 0 | 
| 2019-10-27 | 29 |  National Trophy Series Round 3: Irvine | ME | 0 | 00:00:00.000 |  | 
| 2019-10-06 | 17 |  National Trophy Series Round 2: Milnthorpe | ME | 0 | 00:00:00.000 |  | 
| 2019-09-22 | 39 |  National Trophy Series Round 1: Derby | ME | 0 | 01:09:25.000 | 0 | 
| 2019-01-06 | 30 |  National Trophy Series Round 6: Shrewsbury | ME | 0 | 00:00:00.000 |  | 
| 2018-11-25 | 36 |  National Trophy Series Round 4: York | ME | 0 | 00:00:00.000 |  | 
| 2018-11-11 | 43 |  National Trophy Series Round 3: Crawley | ME | 0 | 00:00:00.000 |  | 
| 2018-10-07 | 64 |  National Trophy Series Round 1: Derby | ME | 0 | 00:00:00.000 |  | 
| 2018-01-14 | 26 |  National Championships Great Britain MJ | MJ | 0 | 00:51:33.000 | 0 | 
| 2017-11-12 | 25 |  National Trophy Series: Shrewsbury | MJ | 0 | 00:42:27.000 | 0 | 
| 2017-10-29 | DNF |  National Trophy Series: Abergavenny | MJ | 0 | 00:00:00.000 |  | 
| 2017-10-08 | 27 |  National Trophy Series: Derby | MJ | 0 | 00:48:22.000 | 0 | 
| 2017-01-08 | 31 |  National Championships Great Britain MJ | MJ | 0 | 00:00:00.000 |  | 
| 2016-11-13 | 24 |  British Cycling National Trophy Houghton-Le-Spring | MJ | 0 | 00:00:00.000 |  | 
| 2016-11-06 | 42 |  Hansgrohe Superprestige Ruddervoorde | MJ | 0 | 00:00:00.000 |  | 
| 2016-10-09 | 38 |  British Cycling National Trophy Derby | MJ | 0 | 00:47:13.000 | 0 |