29.06 | 12 | | | National Championships Great Britain ME - Road Race (NC) | 187 | | 1 | more |
15.06 › 22.0615-22/6 | | | | Tour de Suisse (2.UWT) | | | | more |
| 28 | | | Youth classificationYouth classification | | | | |
| 88 | | | General classificationGeneral classification | | 5 | | |
22.06 | 113 | | | S8 (ITT)Stage 8 (ITT) - Beckenried › Stockhütte | 10 | | | |
21.06 | 85 | 87 | | S7Stage 7 - Neuhausen am Rheinfall › Emmetten | 207.3 | | | |
20.06 | 49 | 94 | | S6Stage 6 - Chur › Neuhausen am Rheinfall | 186.7 | | | |
19.06 | 113 | 98 | | S5Stage 5 - La Punt › Santa Maria in Calanca | 183.8 | | | |
18.06 | 112 | 89 | | S4Stage 4 - Heiden › Piuro (Valchiavenna) | 193.2 | | | |
17.06 | 84 | 87 | | S3Stage 3 - Aarau › Heiden | 195.6 | | | |
16.06 | 103 | 97 | | S2Stage 2 - Aarau › Schwarzsee | 177 | | | |
15.06 | 123 | 123 | | S1Stage 1 - Küssnacht › Küssnacht | 129.4 | | | |
08.06 | 51 | | | Brussels Cycling Classic (1.Pro) | 205.5 | | | more |
07.06 | 72 | | | Heylen Vastgoed Heistse Pijl (1.1) | 189.5 | | | more |
01.05 | DNF | | | Eschborn-Frankfurt (1.UWT) | 198.7 | | | more |
20.04 | DNF | | | Amstel Gold Race (1.UWT) | 255.9 | | | more |
13.04 | 106 | | | Paris-Roubaix (1.UWT) | 259.2 | 5 | | more |
06.04 | 74 | | | Ronde van Vlaanderen - Tour des Flandres ME (1.UWT) 174k | 268.9 | 5 | | more |
02.04 | DNF | | | Dwars door Vlaanderen - A travers la Flandre ME (1.UWT) | 184.2 | | | more |
30.03 | 74 | | | Gent-Wevelgem in Flanders Fields ME (1.UWT) | 250.3 | 5 | | more |
22.03 | 93 | | | Milano-Sanremo (1.UWT) | 289 | 5 | | more |
09.03 › 16.039-16/3 | | | | Paris-Nice (2.UWT) | | | | more |
| 25 | | | Youth classificationYouth classification | | | | |
| 92 | | | General classificationGeneral classification | | 5 | | |
16.03 | 106 | | | S8Stage 8 - Nice › Nice | 119.9 | | | |
15.03 | 99 | 89 | | S7Stage 7 - Nice › Auron | 109.3 | | | |
14.03 | 129 | 81 | | S6Stage 6 - Saint-Julien-en-Saint-Alban › Berre l'Étang | 209.8 | | | |
13.03 | 84 | 68 | | S5Stage 5 - Saint-Just-en-Chevalet › La Côte-Saint-André (Côte de Notre-Dame-de-Sciez) | 203.3 | | | |
12.03 | 77 | 64 | | S4Stage 4 - Vichy › La Loge des Gardes | 163.4 | | | |
11.03 | 20 | 58 | | S3 (TTT)Stage 3 (TTT) - Circuit Nevers Magny-Cours › Nevers | 28.4 | | | |
10.03 | 93 | 63 | | S2Stage 2 - Montesson › Bellegarde | 183.9 | | | |
09.03 | 41 | 43 | | S1Stage 1 - Le Perray-en-Yvelines › Le Perray-en-Yvelines | 156.1 | | | |
02.03 | 88 | | | Kuurne - Brussel - Kuurne (1.Pro) | 196.9 | | | more |
01.03 | 76 | | | Omloop Nieuwsblad ME (1.UWT) | 197 | 5 | | more |
08.02 › 12.028-12/2 | | | | Tour of Oman (2.Pro) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 8 | | | Points classificationPoints classification | | | | |
| 30 | | | General classificationGeneral classification | | | 5 | |
12.02 | 30 | | | S5Stage 5 - Imty › Jabal Al Akhdhar (Green Mountain) 93k | 138.5 | | | |
11.02 | 64 | 36 | | S4Stage 4 - Oman Across Ages Museum › Oman Convention and Exhibition Center | 181.5 | | | |
10.02 | 43 | 39 | | S3Stage 3 - Fanja › Eastern Mountain | 180.8 | | | |
09.02 | 3 | 3 | | S2Stage 2 - Al Rustaq Fort › Yitti Hills | 202.9 | 12 | 10 | |
08.02 | 24 | 25 | | S1Stage 1 - Bushar › Bimmah Sink Hole | 177.7 | | | |
07.02 | 24 | | | Muscat Classic (1.1) | 170.3 | | 3 | more |