| | British Cycling - UK XC National Champs '21 | | Newnham Park | Senior Champs | | 32 | | 16 / 31 | 50% | 1h35:05.20 | 1h26:37.70 | 9.8% | - | - | |
| | British Cycling - UK XC National Champs '19 | | Cannock Chase | Elite | | 2 | | 4 / 37 | 92% | 1h35:49.00 | 1h33:58.00 | 2% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #4 | | Les Gets | Elite | 10007434830 & 1989 | 111 | | 71 / 118 | 40% | - | 1h22:10.00 | - | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #3 | | Vallnord | Elite | 10007434830 & 1989 | 107 | | DNS / 109 | 0% | DNS | 1h19:34.00 | - | - | - | |
| | 2019 HSBC UK | XC National Series #3 | | Cannock Chase | Elite | | 3 | | 5 / 28 | 85% | 1h33:08.00 | 1h29:55.00 | 3.6% | - | - | |
| | 2019 HSBC UK | XC National Series #2 | | Hadleigh Park | Elite | | 7 | | DNS / 40 | 0% | DNS | 1h24:30.00 | - | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 32 | | 8 / 27 | 73% | 1h38:46.00 | 1h33:46.00 | 5.3% | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | Senior Champs | | 2 | | 2 / 28 | 96% | 1h22:15.00 | 1h21:17.00 | 1.2% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #5 | | Vallnord | Elite | 10007434830 & 1989 | ? | | 78 / 100 | 22% | - | 1h32:05.00 | - | - | - | |
| | 2018 British Cycling MTB XC #4 | | Phoenix Bike Park, Kentford | Elite | | 2 | | 4 / 27 | 88% | 1h35:50.00 | 1h34:47.00 | 1.1% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #2 | | Bikepark Albstadt | Elite | 10007434830 & 1989 | 85 | | 96 / 138 | 31% | - | 1h28:07.00 | - | - | - | |
| | 2018 British Cycling MTB XC #3 | | Glentress | Elite | | 2 | | 5 / 23 | 82% | 1h42:20.00 | 1h37:10.00 | 5.3% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | Elite | | 2 | | 18 / 30 | 41% | 1h42:46.00 | 1h33:22.00 | 10.1% | - | - | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | Elite | | 4 | | 8 / 34 | 79% | 1h49:42.00 | 1h45:47.00 | 3.7% | - | - | |
| | 2017 UCI World Cup XC #6 | | Val di Sole | Elite | 10007434830 & 1989 | 68 | | 65 / 86 | 25% | - | 1h24:30.00 | - | - | - | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 5 | Delv | 3 / 25 | 92% | 1h29:11.00 | 1h27:17.00 | 2.2% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | Elite | | 4 | Delv | 4 / 36 | 91% | 1h43:39.00 | 1h43:07.00 | 0.5% | - | - | |
| | 2017 Midlands XC #7 | | Eckington Woods | Elite | | 242 | TRILUX | 2 / 4 | 67% | 1h17:52.00 | 1h17:50.00 | 0% | - | - | |
| | 2017 British Cycling MTB XC #4 | | Dalby Forest | Elite | | 5 | Delv | 7 / 29 | 79% | 1h38:16.00 | 1h36:03.00 | 2.3% | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | Elite | | 5 | Delv | 5 / 32 | 87% | 1h37:33.00 | 1h34:48.00 | 2.9% | - | - | |
| | 2017 British Cycling MTB XC #2 | | Wasing | Elite | | 4 | Delv | 14 / 39 | 66% | 1h37:01.00 | 1h33:59.00 | 3.2% | - | - | |
| | 2016 UCI World Cup XC #6 | | Vallnord | Elite | GBR19891212 | 69 | | DNF / 87 | 0% | DNF | 1h26:08.00 | - | - | - | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | Elite | | 5 | Delv | 4 / 24 | 87% | 1h43:50.00 | 1h40:52.00 | 2.9% | - | - | |
| | Hadleigh Park - Hadleigh Park International | | Hadleigh Park | Elite | GBR19891212 & 27 | 30 | Delv | 26 / 46 | 44% | 1h29:58.00 | 1h21:20.00 | 10.6% | - | - | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | Senior | | 5 | Delv | 6 / 32 | 84% | 1h48:56.00 | 1h43:10.00 | 5.6% | - | - | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | Elite | | 8 | Delv | 10 / 30 | 69% | 1h54:02.00 | 1h45:49.00 | 7.8% | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | Elite | | 12 | Delv | 11 / 36 | 71% | 1h30:44.00 | 1h25:18.00 | 6.4% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | Elite | | 7 | Delv | 6 / 34 | 85% | 1h48:32.00 | 1h42:54.00 | 5.5% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | Elite | | 12 | Delv | 11 / 44 | 77% | 1h47:19.00 | 1h42:43.00 | 4.5% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | Elite | | 18 | Fluid Fin RT | 19 / 34 | 45% | 1h39:12.00 | 1h30:56.00 | 9.1% | - | - | |
| | British Cycling - UK XC National Champs '15 | | Hadleigh Park | Senior | | 16 | Fluid Fin RT | 9 / 43 | 81% | 1h41:47.00 | 1h34:06.00 | 8.2% | - | - | |
| | 2015 Midlands XC #6 | | Eastridge | Elite | | 151 | Fluid Fin RT | 6 / 9 | 38% | 1h55:25.00 | 1h48:02.00 | 6.8% | - | - | |
| | 2015 British Cycling MTB XC #2 | | Newnham Park | Elite | | 26 | | 49 / 51 | 4% | - | 1h26:22.00 | - | - | - | |
| | 2015 Midlands XC #1 | | Cannock Chase | Elite | | 239 | Fluid Fin RT | 4 / 11 | 70% | 1h29:54.00 | 1h26:38.00 | 3.8% | - | - | |
| | 2014 British Cycling MTB XC #5 | | Cannock Chase | Elite | | 22 | | 17 / 35 | 53% | 1h52:59.00 | 1h42:51.00 | 9.9% | - | - | |
| | 2014 British Cycling MTB XC #4 | | Sherwood Pines | Elite | | 32 | | 23 / 57 | 61% | 1h59:49.00 | 1h52:32.00 | 6.5% | - | - | |
| | 2014 British Cycling MTB XC #3 | | Margam Park | Elite | | 26 | | 20 / 47 | 59% | 1h41:28.00 | 1h30:14.00 | 12.5% | - | - | |
| | 2014 Nutcracker Altura XC #3 | | Aske Moor | Elite | 722182 | 16 | | 1 / 7 | 100% | 1h34:09.00 | 1h34:09.00 | 0% | - | - | |
| | 2014 British Cycling MTB XC #2 | | Wheal Velocity | Elite | | 32 | | 14 / 47 | 72% | 1h48:08.00 | 1h40:50.00 | 7.2% | - | - | |
| | 2014 Midlands XC #2 | | Birchall Woods | Elite | | 365 | Bikebox / MSC Bikes / NRG4 / Sponser | 4 / 11 | 70% | 1h42:02.00 | 1h39:40.00 | 2.4% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | Elite | | 64 | | 39 / 63 | 39% | 2h01:39.00 | 1h46:21.00 | 14.4% | - | - | |