| 1 | 2025-03-08 | Strade Bianche | | | 13 | | | 67 |
| 2 | 2024-10-12 | Il Lombardia | | | 57 | | | DNF |
| 3 | 2024-10-10 | Gran Piemonte | | | 64 | | | DNF |
| 4 | 2024-04-14 | Amstel Gold Race | | | DNF | | | 72 |
| 5 | 2024-03-10 | Tirreno-Adriatico | General classification | | | 73 | | | 66 |
| 6 | 2024-03-10 | Tirreno-Adriatico | Stage 7 | | | 89 | | | 110 |
| 7 | 2024-03-09 | Tirreno-Adriatico | Stage 6 | | | 86 | | | 30 |
| 8 | 2024-03-08 | Tirreno-Adriatico | Stage 5 | | | 91 | | | 72 |
| 9 | 2024-03-07 | Tirreno-Adriatico | Stage 4 | | | 135 | | | 151 |
| 10 | 2024-03-06 | Tirreno-Adriatico | Stage 3 | | | 120 | | | 148 |
| 11 | 2024-03-05 | Tirreno-Adriatico | Stage 2 | | | 65 | | | 163 |
| 12 | 2024-03-04 | Tirreno-Adriatico | Stage 1 (ITT) | | | 45 | | | 81 |
| 13 | 2023-08-20 | BEMER Cyclassics | | | 60 | | | 117 |
| 14 | 2023-06-25 | National Championships Great Britain ME - Road Race | | | 6 | | | 8 |
| 15 | 2023-04-19 | La Flèche Wallonne | | | 134 | | | DNF |
| 16 | 2023-04-16 | Amstel Gold Race | | | 67 | | | 70 |
| 17 | 2023-04-09 | Paris-Roubaix | | | 68 | | | DNF |
| 18 | 2023-02-25 | Omloop Het Nieuwsblad ME | | | 91 | | | 67 |
| 19 | 2022-06-26 | National Championships Great Britain ME - Road Race | | | 7 | | | 73 |
| 20 | 2022-03-19 | Milano-Sanremo | | | 77 | | | 135 |
| 21 | 2021-10-17 | National Championships Great Britain ME - Road Race | | | 11 | | | 9 |
| 22 | 2021-10-14 | National Championships Great Britain ME - ITT | | | 6 | | | 3 |
| 23 | 2021-09-12 | Tour of Britain | General classification | | | 16 | | | 14 |
| 24 | 2021-09-12 | Tour of Britain | Stage 8 | | | 29 | | | 28 |
| 25 | 2021-09-11 | Tour of Britain | Stage 7 | | | 19 | | | 22 |
| 26 | 2021-09-10 | Tour of Britain | Stage 6 | | | 12 | | | 5 |
| 27 | 2021-09-09 | Tour of Britain | Stage 5 | | | 36 | | | 19 |
| 28 | 2021-09-08 | Tour of Britain | Stage 4 | | | 18 | | | 22 |
| 29 | 2021-09-06 | Tour of Britain | Stage 2 | | | 21 | | | 11 |
| 30 | 2021-09-05 | Tour of Britain | Stage 1 | | | 15 | | | 12 |
| 31 | 2020-02-08 | Saudi Tour | General classification | | | 19 | | | 20 |
| 32 | 2020-02-08 | Saudi Tour | Stage 5 | | | 45 | | | 32 |
| 33 | 2020-02-07 | Saudi Tour | Stage 4 | | | 19 | | | 20 |
| 34 | 2020-02-06 | Saudi Tour | Stage 3 | | | 29 | | | 36 |
| 35 | 2020-02-05 | Saudi Tour | Stage 2 | | | 19 | | | 45 |
| 36 | 2020-02-04 | Saudi Tour | Stage 1 | | | 24 | | | 22 |
| 37 | 2019-09-14 | OVO Energy Tour of Britain | General classification | | | 22 | | | 32 |
| 38 | 2019-09-14 | OVO Energy Tour of Britain | Stage 8 | | | 11 | | | 80 |
| 39 | 2019-09-13 | OVO Energy Tour of Britain | Stage 7 | | | 26 | | | 35 |
| 40 | 2019-09-12 | OVO Energy Tour of Britain | Stage 6 (ITT) | | | 52 | | | 45 |
| 41 | 2019-09-11 | OVO Energy Tour of Britain | Stage 5 | | | 42 | | | 44 |
| 42 | 2019-09-10 | OVO Energy Tour of Britain | Stage 4 | | | 25 | | | 12 |
| 43 | 2019-09-09 | OVO Energy Tour of Britain | Stage 3 | | | 53 | | | 33 |
| 44 | 2019-09-08 | OVO Energy Tour of Britain | Stage 2 | | | 11 | | | 25 |
| 45 | 2019-09-07 | OVO Energy Tour of Britain | Stage 1 | | | 42 | | | 45 |
| 46 | 2019-08-04 | Prudential RideLondon-Surrey Classic | | | 68 | | | 55 |
| 47 | 2019-06-30 | National Championships Great Britain ME - Road Race | | | 71 | | | 121 |
| 48 | 2019-05-05 | Tour de Yorkshire | General classification | | | 9 | | | 5 |
| 49 | 2019-05-05 | Tour de Yorkshire | Stage 4 | | | 14 | | | 5 |
| 50 | 2019-05-04 | Tour de Yorkshire | Stage 3 | | | 13 | | | 15 |
| 51 | 2019-05-03 | Tour de Yorkshire | Stage 2 | | | 10 | | | 42 |
| 52 | 2019-05-02 | Tour de Yorkshire | Stage 1 | | | 17 | | | 56 |
| 53 | 2019-04-28 | Rutland - Melton Cicle Classic | | | 32 | | | 42 |
| 54 | 2018-09-09 | Ovo Energy Tour of Britain | General classification | | | 30 | | | 39 |
| 55 | 2018-09-09 | Ovo Energy Tour of Britain | Stage 8 | | | 60 | | | 101 |
| 56 | 2018-09-08 | Ovo Energy Tour of Britain | Stage 7 | | | 22 | | | 76 |
| 57 | 2018-09-07 | Ovo Energy Tour of Britain | Stage 6 | | | 48 | | | 38 |
| 58 | 2018-09-05 | Ovo Energy Tour of Britain | Stage 4 | | | 21 | | | 36 |
| 59 | 2018-09-04 | Ovo Energy Tour of Britain | Stage 3 | | | 6 | | | 39 |
| 60 | 2018-09-03 | Ovo Energy Tour of Britain | Stage 2 | | | 15 | | | 30 |
| 61 | 2018-09-02 | Ovo Energy Tour of Britain | Stage 1 | | | 93 | | | 92 |
| 62 | 2018-07-01 | National Championships Great Britain ME - Road Race | | | 1 | | | 35 |
| 63 | 2018-05-06 | Tour de Yorkshire | General classification | | | 54 | | | 14 |
| 64 | 2018-05-06 | Tour de Yorkshire | Stage 4 | | | 66 | | | 18 |
| 65 | 2018-05-05 | Tour de Yorkshire | Stage 3 | | | 6 | | | 29 |
| 66 | 2018-05-04 | Tour de Yorkshire | Stage 2 | | | 52 | | | 20 |
| 67 | 2018-05-03 | Tour de Yorkshire | Stage 1 | | | 12 | | | 48 |
| 68 | 2017-09-10 | OVO Energy Tour of Britain | General classification | | | 39 | | | 29 |
| 69 | 2017-09-10 | OVO Energy Tour of Britain | Stage 8 | | | 36 | | | 30 |
| 70 | 2017-09-09 | OVO Energy Tour of Britain | Stage 7 | | | 28 | | | 47 |
| 71 | 2017-09-08 | OVO Energy Tour of Britain | Stage 6 | | | 62 | | | 78 |
| 72 | 2017-09-07 | OVO Energy Tour of Britain | Stage 5 (ITT) | | | 43 | | | 50 |
| 73 | 2017-09-06 | OVO Energy Tour of Britain | Stage 4 | | | 70 | | | 49 |
| 74 | 2017-09-05 | OVO Energy Tour of Britain | Stage 3 | | | 41 | | | 50 |
| 75 | 2017-09-04 | OVO Energy Tour of Britain | Stage 2 | | | 88 | | | 42 |
| 76 | 2017-09-03 | OVO Energy Tour of Britain | Stage 1 | | | 88 | | | 21 |
| 77 | 2017-08-23 | Druivenkoers - Overijse | | | 53 | | | 54 |
| 78 | 2017-08-22 | GP Stad Zottegem | | | 22 | | | 98 |
| 79 | 2017-06-25 | National Championships Great Britain ME - Road Race | | | OTL | | | 11 |
| 80 | 2015-06-28 | National Championships Great Britain ME - Road Race | | | DNF | | | 22 |
| 81 | 2015-06-25 | National Championships Great Britain U23 - ITT | | | 16 | | | 6 |
| 82 | 2013-06-09 | National Championships Great Britain MJ - Road Race | | | 39 | | | 7 |
| | | | 47 | | | 35 | |