| 1 | 2010 | | National Championships Great Britain MJ- ITT | 2 |
| 2 | 2010 | | Driedaagse van Axel | Stage 2 (ITT) | 2 |
| 3 | 2010 | | Sint-martinusprijs Kontich | Prologue | 4 |
| 4 | 2010 | | Course de la Paix Juniors | Stage 3a (ITT) | 8 |
| 5 | 2016 | | Boucles de la Mayenne | Prologue | 8 |
| 6 | 2010 | | Trofeo Karlsberg | Stage 3 (ITT) | 42 |
| 7 | 2011 | | Le Triptyque des Monts et Châteaux | Stage 2 (ITT) | 97 |
| 8 | 2011 | | Royal Smilde Olympia’s Tour | Prologue | 71 |
| 9 | 2011 | | Royal Smilde Olympia’s Tour | Stage 5 (ITT) | 62 |
| 10 | 2011 | | Tour de Berlin | Stage 3 (ITT) | 55 |
| 11 | 2012 | | Tour de Normandie | Prologue | 101 |
| 12 | 2012 | | Tour de Berlin | Stage 2 (ITT) | 42 |
| 13 | 2013 | | Le Triptyque des Monts et Châteaux | Stage 2a (ITT) | 30 |
| 14 | 2013 | | Okolo Slovenska | Stage 1a (ITT) | 34 |
| 15 | 2013 | | National Championships Great Britain U23 - ITT | 4 |
| 16 | 2014 | | Tour de Normandie | Prologue | 54 |
| 17 | 2014 | | Carpathian Couriers Race U-23 | Stage 3 (ITT) | 79 |
| 18 | 2014 | | National Championships Great Britain U23 - ITT | 3 |
| 19 | 2014 | | Tour de l'Avenir | Prologue | 7 |
| 20 | 2014 | | Tour of Britain | Stage 8a (ITT) | 57 |
| 21 | 2015 | | Tour de San Luis | Stage 5 (ITT) | 131 |
| 22 | 2015 | | Paris - Nice | Prologue | 155 |
| 23 | 2015 | | Tour du Poitou Charentes | Stage 4 (ITT) | 15 |
| 24 | 2015 | | Tour de l'Eurométropole | Prologue | 22 |
| 25 | 2016 | | Tour of Qatar | Stage 3 (ITT) | 97 |
| 26 | 2016 | | Paris - Nice | Prologue | 119 |
| 27 | 2016 | | Baloise Belgium Tour | Prologue | 20 |
| 28 | 2016 | | Route du Sud Cycliste - La Dépêche du Midi | Stage 3 (ITT) | 110 |
| 29 | 2016 | | Tour de France | Stage 13 (ITT) | 179 |
| 30 | 2016 | | Tour de France | Stage 18 (ITT) | 174 |
| 31 | 2016 | | Tour du Poitou Charentes | Stage 4 (ITT) | 17 |
| 32 | 2016 | | Tour of Britain | Stage 7a (ITT) | 116 |
| 33 | 2017 | | Etoile de Bessèges | Stage 5 (ITT) | 82 |
| 34 | 2017 | | Paris - Nice | Stage 4 (ITT) | 164 |
| 35 | 2017 | | Baloise Belgium Tour | Stage 3 (ITT) | 144 |
| 36 | 2017 | | Boucles de la Mayenne | Prologue | 9 |
| 37 | 2017 | | Tour de France | Stage 1 (ITT) | 114 |
| 38 | 2017 | | Tour du Poitou Charentes | Stage 4 (ITT) | 48 |
| 39 | 2018 | | Abu Dhabi Tour | Stage 4 (ITT) | 56 |
| 40 | 2018 | | Paris - Nice | Stage 4 (ITT) | 141 |
| 41 | 2018 | | Amgen Tour of California | Stage 4 (ITT) | 82 |
| 42 | 2019 | | Paris - Nice | Stage 5 (ITT) | 106 |
| 43 | 2019 | | Tour de Suisse | Stage 1 (ITT) | 84 |
| 44 | 2020 | | Paris - Nice | Stage 4 (ITT) | 130 |
| 45 | 2020 | | Volta a Portugal em Bicicleta Edição Especial | Prologue | 15 |
| 46 | 2020 | | Volta a Portugal em Bicicleta Edição Especial | Stage 8 (ITT) | 19 |
| 47 | 2021 | | Etoile de Bessèges - Tour du Gard | Stage 5 (ITT) | 61 |
| 48 | 2021 | | Paris - Nice | Stage 3 (ITT) | 125 |
| 49 | 2021 | | Baloise Belgium Tour | Stage 2 (ITT) | 29 |
| 50 | 2021 | | Tour de France | Stage 5 (ITT) | 164 |
| 51 | 2022 | | Tirreno-Adriatico | Stage 1 (ITT) | 121 |
| 52 | 2022 | | La Vuelta ciclista a España | Stage 10 (ITT) | 90 |
| 53 | 2023 | | Etoile de Bessèges - Tour du Gard | Stage 5 (ITT) | 112 |
| 54 | 2023 | | 4 Jours de Dunkerque / Grand Prix des Hauts de France | Stage 3 (ITT) | 85 |
| 55 | 2023 | | Tour de Suisse | Stage 1 (ITT) | 153 |
| 56 | 2023 | | Tour de Pologne | Stage 6 (ITT) | 74 |
| 57 | 2023 | | Renewi Tour | Stage 2 (ITT) | 106 |
| 58 | 2024 | | Volta ao Algarve em Bicicleta | Stage 4 (ITT) | 115 |
| 59 | 2024 | | Tour de Suisse | Stage 1 (ITT) | 76 |
| 60 | 2024 | | Tour de Suisse | Stage 8 (ITT) | 141 |
| 61 | 2024 | | Tour de France | Stage 7 (ITT) | 89 |
| 62 | 2024 | | Tour de France | Stage 21 (ITT) | 129 |
| 63 | 2024 | | Tour Poitou - Charentes en Nouvelle Aquitaine | Stage 3 (ITT) | 112 |
| 64 | 2024 | | Renewi Tour | Stage 2 (ITT) | 79 |
| 65 | 2025 | | UAE Tour | Stage 2 (ITT) | 88 |
| 66 | 2025 | | Tirreno-Adriatico | Stage 1 (ITT) | 127 |
| 67 | 2025 | | Tour de Romandie | Prologue | 106 |