| 28.09 | DNF | | | World Championships ME - Road Race (WC) | | 267.5 | | | more |
| 14.09 | 48 | | | Grand Prix Cycliste de Montréal (1.UWT) | | 209.1 | 5 | 10 | more |
| 12.09 | 78 | | | Grand Prix Cycliste de Québec (1.UWT) | | 216 | 5 | | more |
| 02.09 › 07.092-7/9 | | | | Tour of Britain Men (2.Pro) | | | | | more |
| 3 | | | Youth classificationYouth classification | | | | | |
| 12 | | | General classificationGeneral classification | | | 32 | 25 | |
| 07.09 | 33 | | | S6Stage 6 - Newport › Cardiff | | 112.2 | | | |
| 06.09 | 13 | 12 | | S5Stage 5 - Pontypool › The Tumble | | 133.6 | | | |
| 05.09 | 21 | 26 | | S4Stage 4 - Atherstone › Burton Dassett | | 186.9 | | | |
| 04.09 | 33 | 41 | | S3Stage 3 - Milton Keynes › Ampthill | | 122.8 | | | |
| 03.09 | 25 | 54 | | S2Stage 2 - Stowmarket › Stowmarket | | 169.3 | | | |
| 02.09 | 87 | 89 | | S1Stage 1 - Woodbridge › Southwold | | 161.4 | | | |
| 15.08 | 42 | | | Circuit Franco-Belge (1.Pro) | | 206.7 | | | more |
| 05.07 › 27.075-27/7 | | | | Tour de France (2.UWT) | | | | | more |
| 11 | | | Youth classificationYouth classification | | | | | |
| 76 | | | Points classificationPoints classification | | | | | |
| 48 | | | General classificationGeneral classification | | | 25 | 25 | |
| 27.07 | 59 | | | S21Stage 21 - Mantes-la-Ville › Paris (Champs-Élysées) | | 132.3 | | | |
| 26.07 | 61 | 48 | | S20Stage 20 - Nantua › Pontarlier | | 184.2 | | | |
| 25.07 | 124 | 50 | | S19Stage 19 - Albertville › La Plagne | | 93.1 | | | |
| 24.07 | 52 | 43 | | S18Stage 18 - Vif › Courchevel (Col de la Loze) | | 171.5 | | | |
| 23.07 | 130 | 42 | | S17Stage 17 - Bollène › Valence | | 160.4 | | | |
| 22.07 | 117 | 43 | | S16Stage 16 - Montpellier › Mont Ventoux | | 171.5 | | | |
| 20.07 | 83 | 37 | | S15Stage 15 - Muret › Carcassonne | | 169.3 | | | |
| 19.07 | 47 | 37 | | S14Stage 14 - Pau › Luchon-Superbagnères | | 182.6 | | | |
| 18.07 | 55 | 37 | | S13 (ITT)Stage 13 (ITT) - Loudenvielle › Peyragudes | | 10.9 | | | |
| 17.07 | 55 | 38 | | S12Stage 12 - Auch › Hautacam 105k | | 180.6 | | | |
| 16.07 | 50 | 31 | | S11Stage 11 - Toulouse › Toulouse | | 156.8 | | | |
| 14.07 | 6 | 31 | | S10Stage 10 - Ennezat › Le Mont-Dore Puy de Sancy 150k | | 165.3 | 26 | 55 | |
| 13.07 | 148 | 53 | | S9Stage 9 - Chinon › Châteauroux | | 174.1 | | | |
| 12.07 | 88 | 42 | | S8Stage 8 - Saint-Méen-le-Grand › Laval (Espace Mayenne) | | 171.4 | | | |
| 11.07 | 137 | 44 | | S7Stage 7 - Saint-Malo › Mûr-de-Bretagne (Guerlédan) | | 197 | | | |
| 10.07 | 36 | 26 | | S6Stage 6 - Bayeux › Vire Normandie | | 201.5 | | | |
| 09.07 | 107 | 27 | | S5 (ITT)Stage 5 (ITT) - Caen › Caen | | 33 | | | |
| 08.07 | 30 | 15 | | S4Stage 4 - Amiens Métropole › Rouen | | 174.2 | | | |
| 07.07 | 64 | 7 | | S3Stage 3 - Valenciennes › Dunkerque | | 178.3 | | | |
| 06.07 | 28 | 8 | | S2Stage 2 - Lauwin-Planque › Boulogne-sur-Mer | | 209.1 | | | |
| 05.07 | 25 | 25 | | S1Stage 1 - Lille Métropole › Lille Métropole | | 184.9 | | | |
| 29.06 | 10 | | | National Championships Great Britain ME - Road Race (NC) | | 187 | | 3 | more |
| 26.06 | DNS | | | National Championships Great Britain ME - ITT (NC) | | 41 | | | more |
| 15.06 › 22.0615-22/6 | | | | Tour de Suisse (2.UWT) | | | | | more |
| 7 | | | Youth classificationYouth classification | | | | | |
| 25 | | | Mountains classificationMountains classification | | | | | |
| 19 | | | General classificationGeneral classification | | | 24 | 30 | |
| 22.06 | 17 | | | S8 (ITT)Stage 8 (ITT) - Beckenried › Stockhütte | | 10 | | | |
| 21.06 | 7 | 20 | | S7Stage 7 - Neuhausen am Rheinfall › Emmetten | | 207.3 | 4 | 10 | |
| 20.06 | 13 | 22 | | S6Stage 6 - Chur › Neuhausen am Rheinfall | | 186.7 | | | |
| 19.06 | 28 | 23 | | S5Stage 5 - La Punt › Santa Maria in Calanca | | 183.8 | | | |
| 18.06 | 13 | 29 | | S4Stage 4 - Heiden › Piuro (Valchiavenna) | | 193.2 | | | |
| 17.06 | 56 | 46 | | S3Stage 3 - Aarau › Heiden | | 195.6 | | | |
| 16.06 | 23 | 40 | | S2Stage 2 - Aarau › Schwarzsee | | 177 | | | |
| 15.06 | 42 | 42 | | S1Stage 1 - Küssnacht › Küssnacht | | 129.4 | | | |
| 27.04 | 32 | | | Liège-Bastogne-Liège (1.UWT) | | 252 | 8 | 15 | more |
| 23.04 | 14 | | | La Flèche Wallonne (1.UWT) | | 205.1 | 26 | 32 | more |
| 20.04 | 14 | | | Amstel Gold Race (1.UWT) | | 255.9 | 26 | 40 | more |
| 18.04 | 42 | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | | 162.6 | | | more |
| 06.04 | 40 | | | Ronde van Vlaanderen - Tour des Flandres ME (1.UWT) | | 268.9 | 5 | 15 | more |
| 02.04 | 20 | | | Dwars door Vlaanderen - A travers la Flandre ME (1.UWT) | | 184.2 | 15 | 20 | more |
| 28.03 | 37 | | | E3 Saxo Classic ME (1.UWT) | | 208.8 | 5 | 8 | more |
| 08.03 | 30 | | | Strade Bianche (1.UWT) | | 213 | 5 | 16 | more |
| 01.03 | 94 | | | Omloop Nieuwsblad ME (1.UWT) | | 197 | 5 | | more |
| 22.02 › 23.0222-23/2 | | | | Tour des Alpes-Maritimes (2.1) | | | | | more |
| 2 | | | Youth classificationYouth classification | | | | | |
| 1 | | | Points classificationPoints classification | | | | | |
| 4 | | | General classificationGeneral classification | | | 36 | 60 | |
| 23.02 | 2 | | | S2Stage 2 - Villefranche-sur-Mer › Vence | | 131.8 | 12 | 5 | |
| 22.02 | 8 | 8 | | S1Stage 1 - Contes › Gourdon | | 162.4 | 1 | | |
| 21.02 | 15 | | | Classic Var (1.1) | | 164 | 6 | 5 | more |
| 05.02 › 09.025-9/2 | | | | Volta a la Comunitat Valenciana (2.Pro) | | | | | more |
| 10 | | | Youth classificationYouth classification | | | | | |
| 26 | | | General classificationGeneral classification | | | | 5 | |
| 09.02 | 55 | | | S5Stage 5 - Alfafar › Valencia | | 104.2 | | | |
| 08.02 | 33 | 28 | | S4Stage 4 - Oropesa del Mar › Portell de Morella | | 181 | | | |
| 07.02 | 51 | 29 | | S3Stage 3 - Algemesí › Alpuente | | 180.3 | | | |
| 06.02 | 35 | 24 | | S2Stage 2 - La Nucía › Benifato (Font de Partegat) | | 166 | | | |
| 05.02 | 8 | 39 | | S1 (TTT)Stage 1 (TTT) - Orihuela › Orihuela | | 34.3 | | | |