10.10 | OTL | | | Gran Piemonte (1.HC) EF Education First | 183 | | | more |
06.10 | 94 | | | Gran Premio Bruno Beghelli (1.HC) EF Education First | 199.3 | | | more |
27.09 | 71 | | | World Championships MU - Road Race (WC) Great Britain | 171.6 | | | more |
22.09 | DNF | | | Trofeo Matteotti (1.1) EF Education First | 195 | | | more |
21.09 | DNF | | | Memorial Marco Pantani (1.1) EF Education First | 194.7 | | | more |
07.09 › 14.097-14/9 | | | | OVO Energy Tour of Britain (2.HC) Great Britain | | | | more |
| 9 | | | Points classificationPoints classification | | | | |
| 62 | | | General classificationGeneral classification | | | | |
14.09 | 61 | | | S8Stage 8 - Altrincham › Manchester | 166 | | | |
13.09 | 42 | 58 | | S7Stage 7 - Warwick › Burton Dassett Country Park | 188.7 | | | |
12.09 | 92 | 68 | | S6 (ITT)Stage 6 (ITT) - Pershore › Pershore | 14.4 | | | |
11.09 | 2 | 62 | | S5Stage 5 - Birkenhead › Birkenhead | 174.1 | 18 | 10 | |
10.09 | 71 | 69 | | S4Stage 4 - Gateshead › Kendal | 173.2 | | | |
09.09 | 7 | 63 | | S3Stage 3 - Berwick-upon-Tweed › Newcastle-upon-Tyne | 183.2 | 2 | | |
08.09 | 79 | 72 | | S2Stage 2 - Kelso › Kelso | 165.9 | | | |
07.09 | 11 | 14 | | S1Stage 1 - Glasgow › Kirkcudbright | 201.5 | | | |
10.08 | 10 | | | European Continental Championships MU - Road Race (CC) | 138 | | 20 | more |
04.08 | 13 | | | Prudential RideLondon-Surrey Classic (1.UWT) Great Britain | 167 | 30 | 30 | more |
30.06 | 16 | | | National Championships Great Britain ME - Road Race (NC) | 190 | | | more |
27.06 | 35 | | | National Championships Great Britain U23 - ITT (NC) | 27.4 | | | more |
13.06 › 23.0613-23/6 | | | | Giro Ciclistico d'Italia (2.2U) | | | | more |
| 10 | | | Points classificationPoints classification | | | | |
| 113 | | | General classificationGeneral classification | | | | |
23.06 | 121 | | | S9Stage 9 - Agordo › Passo Fedaia | 39.9 | | | |
22.06 | 98 | 113 | | S8Stage 8 - Rosa › Falcade | 133.6 | | | |
21.06 | 27 | 114 | | S7Stage 7 - Dimaro › Levico Terme | 131.5 | | | |
20.06 | 141 | 119 | | S6Stage 6 - Aprica › Aprica | 94.3 | | | |
19.06 | 120 | 105 | | S5Stage 5 - Sorbolo Mezzani › Passo Maniva | 158.3 | | | |
17.06 | 75 | 100 | | S4Stage 4 - Buonconvento › Monte Amiata | 140.2 | | | |
16.06 | 117 | 116 | | S3Stage 3 - Sesto Fiorentino › Gaiole in Chianti | 145.5 | | | |
15.06 | 1 | 3 | | S2Stage 2 - Bagno di Romagna › Pescia | 185.8 | 5 | 5 | |
14.06 | 6 | 9 | | S1Stage 1 - Riccione › Santa Sofia | 138.8 | | | |
13.06 | 17 | 17 | | ProloguePrologue - Riccione › Riccione | 3.3 | | | |
02.06 | 17 | | | Paris-Roubaix Espoirs (1.2U) | 170.5 | | | more |
24.05 › 26.0524-26/5 | | | | A Travers les Hauts de France (2.2) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 2 | | | General classificationGeneral classification | | 18 | 30 | |
26.05 | 1 | | | S3Stage 3 - Petite-Forêt › Pecquencourt | 188.5 | 5 | 7 | |
25.05 | 8 | 3 | | S2Stage 2 - Seclin › Bonningues-lès-Calais | 197.8 | | | |
24.05 | 2 | 2 | | S1Stage 1 - Gavrelle › Épinoy | 125.7 | 2 | 3 | |
05.05 | 3 | | | Entre Brenne et Montmorillonnais (1.2) | 183.3 | 7 | 25 | more |
04.05 | DNF | | | L'Etoile d'Or (1.Ncup) | 180 | | | more |
01.05 | 85 | | | Eschborn-Frankfurt U23 (1.2U) | 119 | | | more |
20.04 | 2 | | | Arno Wallaard Memorial (1.2) | 183.9 | 10 | 30 | more |