| 2025-06-01 | 25 | North West, Yorkshire & North East Regional Road Race Championships | me | 0 | 00:00:00.000 |  | 
| 2025-05-17 | 79 | UCI Gravel World Series ME - The Gralloch | me | 110 | 03:36:58.740 | 30.419 | 
| 2025-05-04 | 26 | National Championships Scotland ME - Road Race |  | 120 | 00:00:00.000 |  | 
| 2024-08-05 | DNF | Sinaai | me | 107 | 00:00:00.000 |  | 
| 2024-08-04 | 14 | GP Sint Kristoffel | me | 115 | 02:24:45.000 | 47.668 | 
| 2024-08-02 | 21 | Sint-Pietersprijs | me | 110.5 | 02:32:05.000 | 43.595 | 
| 2024-07-31 | 62 | Deinze ME | me | 108 | 02:20:17.000 | 46.192 | 
| 2024-06-02 | 15 | Yorkshire, NW & NE Regional Road Championships | me | 0 | 00:00:00.000 |  | 
| 2024-05-18 | 56 | UCI Gravel World Series ME - The Gralloch | me | 110 | 03:35:00.000 | 30.698 | 
| 2024-05-12 | DNF | Rapha Lincoln Grand Prix |  | 167.7 | 00:00:00.000 |  | 
| 2023-07-25 | 18 | Fort Vale Colne Grand Prix |  | 0 | 00:00:00.000 |  | 
| 2023-07-19 | 36 | Bike Box Alan Men’s Grand Prix |  | 0 | 00:00:00.000 |  | 
| 2023-06-11 | 50 | Aartselaar |  | 123 | 02:42:08.000 | 45.518 | 
| 2023-06-09 | 22 | Belsele-Waas |  | 98 | 02:09:21.000 | 45.458 | 
| 2023-06-08 | DNF | Bierbeek |  | 112 | 00:00:00.000 |  | 
| 2023-06-05 | DNF | Ereprijs René De Ridder - Kester |  | 124.5 | 00:00:00.000 |  | 
| 2019-01-06 | 17 | National Trophy Series Round 6: Shrewsbury | ME | 0 | 01:08:42.000 | 0 | 
| 2018-12-29 | 53 | Cyclocross Bredene | ME | 0 | 00:00:00.000 |  | 
| 2018-12-28 | 63 | DVV verzekeringen trofee - Azencross | MU | 0 | 00:57:05.000 | 0 | 
| 2018-12-09 | 23 | National Trophy Series Round 5: Ipswich | ME | 0 | 01:11:02.000 | 0 | 
| 2018-11-25 | 43 | National Trophy Series Round 4: York | ME | 0 | 00:00:00.000 |  | 
| 2018-11-11 | 20 | National Trophy Series Round 3: Crawley | ME | 0 | 01:08:06.000 | 0 | 
| 2018-10-28 | 17 | National Trophy Series Round 2: Irvine | ME | 0 | 01:04:58.000 | 0 | 
| 2018-10-07 | 25 | National Trophy Series Round 1: Derby | ME | 0 | 01:02:12.000 | 0 | 
| 2018-01-14 | 7 | National Championships Great Britain MJ | MJ | 0 | 00:46:16.000 | 0 | 
| 2017-12-28 | 34 | DVV verzekeringen trofee - Azencross | MJ | 0 | 00:46:04.000 | 0 | 
| 2017-11-12 | 12 | National Trophy Series: Shrewsbury | MJ | 0 | 00:39:31.000 | 0 | 
| 2017-10-29 | 12 | National Trophy Series: Abergavenny | MJ | 0 | 00:48:18.000 | 0 | 
| 2017-10-15 | 49 | Telenet Superprestige Zonhoven | MJ | 0 | 00:47:51.000 | 0 | 
| 2017-10-14 | 15 | Polderscross | MJ | 0 | 00:44:57.000 | 0 | 
| 2017-10-08 | 10 | National Trophy Series: Derby | MJ | 0 | 00:45:49.000 | 0 | 
| 2017-01-08 | 8 | National Championships Great Britain MJ | MJ | 0 | 00:45:03.000 | 0 | 
| 2016-11-19 | 26 | Hasselt | MJ | 0 | 00:49:41.000 | 0 | 
| 2016-11-13 | 13 | British Cycling National Trophy Houghton-Le-Spring | MJ | 0 | 00:47:16.000 | 0 | 
| 2016-10-16 | 44 | Hansgrohe Superprestige Zonhoven | MJ | 0 | 00:00:00.000 |  | 
| 2016-10-15 | 21 | Polderscross | MJ | 0 | 00:44:53.000 | 0 | 
| 2016-10-09 | 7 | British Cycling National Trophy Derby | MJ | 0 | 00:42:48.000 | 0 |