| 2025-10-12 | 166 | UCI Gravel World Championships | ME | 180.9 | 05:07:18.000 | 35.321 | 
| 2025-09-14 | 4 | National Championships Great Britain ME - Gravel | me | 0 | 03:25:17.300 | 0 | 
| 2025-09-07 | 1 | UCI Gravel World Series ME - Graean Cymru | me | 105 | 03:11:07.000 | 32.964 | 
| 2025-08-09 | 13 | Gravel Weekend | me | 145 | 03:51:33.500 | 37.573 | 
| 2025-08-09 | 13 | Gravel Weekend | me | 0 | 03:55:38.300 | 0 | 
| 2025-08-02 | 8 | MEGRE Gravel | me | 0 | 04:10:18.440 | 0 | 
| 2025-07-06 | 51 | UCI Gravel World Series ME - Hegau Gravel Race | me | 108 | 03:38:54.000 | 29.603 | 
| 2025-05-31 | 29 | Life Time UNBOUND Gravel Presented by Shimano | me | 326 | 09:08:05.000 | 35.688 | 
| 2025-05-17 | 8 | UCI Gravel World Series ME - The Gralloch | me | 110 | 03:11:44.410 | 34.423 | 
| 2025-05-03 | 38 | The Traka 200 | me | 200 | 06:37:44.000 | 30.171 | 
| 2025-04-26 | 2 | Dirty Reiver | me | 0 | 06:22:33.000 | 0 | 
| 2025-04-10 | 39 | Life Time Sea Otter Classic | me | 143 | 04:38:31.000 | 30.806 | 
| 2025-03-29 | 25 | The Hills | me | 180 | 06:44:09.000 | 26.723 | 
| 2025-03-23 | 20 | UCI Gravel World Series ME - Turnhout Gravel | me | 144 | 03:39:22.000 | 39.386 | 
| 2025-01-12 | 10 | National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2024-11-17 | 3 | National Trophy Series Round 3 | ME | 0 | 01:01:36.000 | 0 | 
| 2024-11-11 | 28 | Superprestige Jaarmarktcross Niel | ME | 21.75 | 00:00:00.000 |  | 
| 2024-11-10 | 27 | Rapencross | ME | 0 | 00:00:00.000 |  | 
| 2024-10-27 | 3 | National Trophy Series Round 2 | ME | 0 | 01:01:17.000 | 0 | 
| 2024-10-20 | 4 | Varberg Cyclocross Day 2 | ME | 0 | 01:02:55.000 | 0 | 
| 2024-10-19 | 14 | Varberg Cyclocross Day 1 | ME | 0 | 01:00:15.000 | 0 | 
| 2024-10-13 | 1 | Verge Cross Clonmel | ME | 0 | 00:58:43.000 | 0 | 
| 2024-10-06 | 4 | National Trophy Series Round 1: Derby | ME | 0 | 01:00:38.000 | 0 | 
| 2024-09-21 | 2 | Hope Supercross Round 4 | ME | 0 | 01:03:07.000 | 0 | 
| 2024-09-18 | 9 | Hope Supercross Round 3 | ME | 0 | 01:00:07.000 | 0 | 
| 2024-09-15 | DNF | Hope Supercross Round 2 | ME | 0 | 00:00:00.000 |  | 
| 2024-09-14 | 5 | Hope Supercross Round 1 | ME | 0 | 01:01:09.000 | 0 | 
| 2024-08-31 | 5 | National Championships Great Britain - Gravel | me | 87.6 | 02:31:10.000 | 34.77 | 
| 2024-07-17 | 61 | Sheffield Grand Prix | me | 0 | 00:00:00.000 |  | 
| 2024-06-16 | 30 | CAMS Ronde van Wymeswold YBC x UON | me | 0 | 02:02:33.000 | 0 | 
| 2024-06-16 | 13 | CAMS Ronde van Wymeswold YBC x UON | me | 0 | 04:35:03.000 | 0 | 
| 2024-06-15 | 19 | CAMS Ronde van Wymeswold YBC x UON | me | 106 | 02:17:23.000 | 46.294 | 
| 2024-05-12 | DNF | Rapha Lincoln Grand Prix |  | 167.7 | 00:00:00.000 |  | 
| 2024-04-21 | 2 | The Proper Northern RR Series - Round 2 - Oakenclough Road Race | me | 0 | 00:00:00.000 |  | 
| 2024-04-14 | 35 | The East Cleveland Classic supported by Redcar and Cleveland Council |  | 160 | 04:05:59.000 | 39.027 | 
| 2024-04-07 | 16 | Danum Trophy Road Race | me | 0 | 00:00:00.000 |  | 
| 2024-03-24 | 4 | The Peaks 2 Day p/b Giant Sheffield | me | 0 | 00:08:37.000 | 0 | 
| 2024-03-24 | 9 | The Peaks 2 Day p/b Giant Sheffield | me | 0 | 02:53:12.000 | 0 | 
| 2024-03-24 | 21 | The Peaks 2 Day p/b Giant Sheffield | me | 0 | 06:10:45.000 | 0 | 
| 2024-03-23 | 40 | The Peaks 2 Day p/b Giant Sheffield | me | 104 | 03:08:56.000 | 33.028 | 
| 2024-01-13 | 14 | National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2023-12-09 | 11 | National Trophy Series Round 5: Gravesend | ME | 0 | 01:17:51.000 | 0 | 
| 2023-10-28 | 14 | National Trophy Series Round 3: Derby | ME | 0 | 01:05:17.000 | 0 | 
| 2023-10-15 | 3 | Verge Cross Clonmel | ME | 0 | 01:01:43.000 | 0 | 
| 2023-10-14 | DNF | National Trophy Series Round 2: Thornton in Craven | ME | 0 | 00:00:00.000 |  | 
| 2023-09-17 | 8 | Hope Supercross - Round 3 Barnoldswick | ME | 0 | 01:02:21.000 | 0 | 
| 2023-07-23 | 3 | The Proper Northern RR Series - Aughton |  | 0 | 00:00:00.000 |  | 
| 2023-07-14 | 19 | Dudley Grand Prix |  | 0 | 00:52:40.000 | 0 | 
| 2023-07-09 | 36 | JToW U23 Men's GP |  | 0 | 00:00:00.000 |  | 
| 2023-05-14 | 11 | Rapha Lincoln Grand Prix |  | 0 | 03:49:42.000 | 0 | 
| 2023-04-30 | 4 | Oakenclough Road Race |  | 121 | 00:00:00.000 |  | 
| 2023-04-15 | 5 | Galway Classic |  | 157 | 00:00:00.000 |  | 
| 2023-04-02 | 2 | Danum Trophy Road Race |  | 0 | 00:00:00.000 |  | 
| 2023-03-19 | 4 | The Peaks 2 Day p/b Giant Sheffield |  | 78 | 02:41:45.000 | 28.934 | 
| 2023-03-19 | 2 | The Peaks 2 Day p/b Giant Sheffield |  | 0 | 04:50:11.000 | 0 | 
| 2023-03-18 | 2 | The Peaks 2 Day p/b Giant Sheffield |  | 62 | 00:08:13.000 | 452.738 | 
| 2023-03-18 | 2 | The Peaks 2 Day p/b Giant Sheffield |  | 87 | 02:00:13.000 | 43.422 | 
| 2023-01-15 | 6 | National Championships Great Britain ME | ME | 0 | 01:10:08.000 | 0 | 
| 2023-01-08 | 7 | National Trophy Series Round 6: Gravesend | ME | 0 | 00:59:52.000 | 0 | 
| 2023-01-01 | DNF | GP Sven Nys | MU | 0 | 00:00:00.000 |  | 
| 2022-12-30 | DNF | Azencross – Loenhout | ME | 0 | 00:00:00.000 |  | 
| 2022-12-28 | DNS | Telenet Superprestige Diegem | ME | 0 | 00:00:00.000 |  | 
| 2022-12-27 | DNS | Telenet Superprestige Heusden-Zolder | ME | 0 | 00:00:00.000 |  | 
| 2022-12-26 | 60 | UCI World Cup Gavere | ME | 17.48 | 00:00:00.000 |  | 
| 2022-12-18 | DNF | National Trophy Series Round 5: Broughton Hall | ME | 0 | 00:00:00.000 |  | 
| 2022-12-11 | 21 | UCI World Cup Dublin | ME | 0 | 01:04:29.000 | 0 | 
| 2022-11-27 | DNF | UCI World Cup Hulst | ME | 0 | 00:00:00.000 |  | 
| 2022-11-26 | DNF | X2O Badkamers Trofee Kortrijk | MU | 0 | 00:00:00.000 |  | 
| 2022-11-20 | 3 | National Trophy Series Round 4: Torbay Velo Park | ME | 0 | 01:01:31.000 | 0 | 
| 2022-11-19 | 3 | Andover Supercross | ME | 0 | 00:58:55.000 | 0 | 
| 2022-10-30 | 2 | National Trophy Series Round 3 | ME | 0 | 01:02:15.000 | 0 | 
| 2022-10-23 | 4 | National Trophy Series Round 2 | ME | 0 | 00:59:56.000 | 0 | 
| 2022-10-16 | 3 | Verge Cross Clonmel | ME | 0 | 01:03:40.000 | 0 | 
| 2022-10-09 | 4 | National Trophy Series Round 1: Derby | ME | 0 | 01:02:01.000 | 0 | 
| 2022-01-09 | 10 | National Championships Great Britain ME | ME | 0 | 01:02:21.000 | 0 | 
| 2021-12-12 | 16 | National Trophy Series Round 5: Cyclopark | ME | 0 | 01:06:43.000 | 0 | 
| 2021-09-19 | 8 | National Trophy Series Round 1: Derby | ME | 0 | 01:04:02.000 | 0 | 
| 2021-07-26 | DNF | GP Raf Jonckheere Westrozebeke | me | 164 | 00:00:00.000 |  | 
| 2020-01-12 | DNF | National Championships Great Britain ME | ME | 0 | 00:00:00.000 |  | 
| 2020-01-01 | 36 | DVV Verzekeringen trofee GP Sven Nys | MU | 0 | 00:53:57.000 | 0 | 
| 2019-12-30 | 29 | Cyclocross Bredene | ME | 0 | 00:00:00.000 |  | 
| 2019-12-15 | 13 | National Trophy Series Round 6: York | ME | 0 | 01:05:03.000 | 0 | 
| 2019-11-24 | 40 | UCI World Cup Koksijde | MU | 0 | 00:56:18.000 | 0 | 
| 2019-11-10 | 18 | National Trophy Series Round 4: Crawley | ME | 0 | 01:13:52.000 | 0 | 
| 2019-10-27 | 4 | National Trophy Series Round 3: Irvine | ME | 0 | 01:04:46.000 | 0 | 
| 2019-10-06 | DNF | National Trophy Series Round 2: Milnthorpe | ME | 0 | 00:00:00.000 |  | 
| 2019-09-22 | 14 | National Trophy Series Round 1: Derby | ME | 0 | 01:06:14.000 | 0 | 
| 2019-09-07 | 20 | Qiansen Trophy Fengfeng Station | ME | 0 | 00:00:00.000 |  | 
| 2019-09-01 | 30 | Qiansen Trophy Aohan Station | ME | 0 | 00:00:00.000 |  | 
| 2019-01-13 | 3 | National Championships Great Britain MJ | MJ | 0 | 00:41:39.000 | 0 | 
| 2018-12-28 | DNS | DVV verzekeringen trofee - Azencross | MJ | 0 | 00:00:00.000 |  | 
| 2018-12-26 | 43 | UCI World Cup Heusden-Zolder | MJ | 0 | 00:47:42.000 | 0 | 
| 2018-12-22 | DNF | Waaslandcross | MJ | 0 | 00:00:00.000 |  | 
| 2018-12-02 | 3 | Lampiris Zilvermeercross | MJ | 0 | 00:38:41.000 | 0 | 
| 2018-12-01 | 10 | GP Hasselt | MJ | 0 | 00:39:14.000 | 0 | 
| 2018-11-25 | 29 | UCI World Cup Koksijde | MJ | 0 | 00:44:56.000 | 0 | 
| 2018-11-17 | 33 | UCI World Cup Tábor | MJ | 0 | 00:40:26.000 | 0 | 
| 2018-11-03 | 33 | UEC Cyclo-Cross European Championships MJ | MJ | 0 | 00:47:50.000 | 0 | 
| 2018-11-01 | 13 | DVV verzekeringen trofee - Koppenbergcross | MJ | 0 | 00:47:02.000 | 0 | 
| 2018-10-20 | 11 | Telenet Superprestige De Schorre Boom | MJ | 0 | 00:42:11.000 | 0 |