16.10 | 23 | | | Chrono des Nations (1.1) | 45.43 | | 3 | more |
03.10 | 91 | | | Sparkassen Münsterland Giro (1.Pro) | 205.9 | | | more |
15.09 | DNF | | | Coppa Sabatini - Gran Premio città di Peccioli (1.Pro) | 198.9 | | | more |
14.09 | DNF | | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 199.2 | | | more |
04.09 › 08.094-8/9 | | | | Tour of Britain (2.Pro) | | | | more |
| 97 | | | General classificationGeneral classification | | | | |
08.09 | 87 | | | S5Stage 5 - West Bridgford › Mansfield | 186.8 | | | |
07.09 | 98 | 98 | | S4Stage 4 - Redcar › Duncombe Park, Helmsley | 149.5 | | | |
06.09 | 87 | 102 | | S3Stage 3 - Durham › Sunderland | 163.6 | | | |
05.09 | 103 | 105 | | S2Stage 2 - Hawick › Duns | 175.2 | | | |
04.09 | 106 | 106 | | S1Stage 1 - Aberdeen › Glenshee Ski Centre | 181.3 | | | |
16.08 › 20.0816-20/8 | | | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) | | | | more |
20.08 | DNF | | | S5Stage 5 - Give › Vejle | 126.5 | | | |
19.08 | 134 | 114 | | S4Stage 4 - Skive › Skive | 167.3 | | | |
18.08 | 87 | 92 | | S3Stage 3 - Otterup › Herning | 239.3 | | | |
17.08 | 27 | 129 | | S2 (ITT)Stage 2 (ITT) - Assens › Assens | 12.2 | | | |
16.08 | 131 | 131 | | S1Stage 1 - Allerød › Køge | 222.6 | | | |
30.07 › 05.0830-5/7 | | | | Tour de Pologne (2.UWT) | | | | more |
| 89 | | | General classificationGeneral classification | | 5 | | |
05.08 | 123 | | | S7Stage 7 - Valsir › Kraków | 177.8 | | | |
04.08 | 78 | 88 | | S6 (ITT)Stage 6 (ITT) - Nowy Targ (Gronków) › Stacja Narciarska Rusiński | 11.8 | | | |
03.08 | 51 | 91 | | S5Stage 5 - Łańcut › Rzeszów | 178.1 | | | |
02.08 | 100 | 93 | | S4Stage 4 - Lesko › Sanok | 179.4 | | | |
01.08 | 94 | 87 | | S3Stage 3 - Kraśnik › Przemyśl | 237.9 | | | |
31.07 | 83 | 87 | | S2Stage 2 - Chełm › Zamość | 205.6 | | | |
30.07 | 96 | 97 | | S1Stage 1 - Kielce › Lublin | 218.8 | | | |
26.06 | DNS | | | National Championships Great Britain ME - Road Race (NC) | 201 | | | more |
23.06 | 8 | | | National Championships Great Britain ME - ITT (NC) | 44.2 | | 3 | more |
06.05 › 29.056-29/5 | | | | Giro d'Italia (2.UWT) | | | | more |
| 134 | | | General classificationGeneral classification | | 20 | | |
29.05 | 142 | | | S21 (ITT)Stage 21 (ITT) - Verona › Verona | 17.4 | | | |
28.05 | 112 | 134 | | S20Stage 20 - Belluno › Marmolada (Passo Fedaia) | 168 | | | |
27.05 | 143 | 135 | | S19Stage 19 - Marano Lagunare › Santuario di Castelmonte | 178 | | | |
26.05 | 79 | 135 | | S18Stage 18 - Borgo Valsugana › Treviso | 156 | | | |
25.05 | 129 | 137 | | S17Stage 17 - Ponte di Legno › Lavarone | 168 | | | |
24.05 | 109 | 138 | | S16Stage 16 - Salò › Aprica | 202 | | | |
22.05 | 121 | 140 | | S15Stage 15 - Rivarolo Canavese › Cogne | 177 | | | |
21.05 | 107 | 140 | | S14Stage 14 - Santena › Torino | 147 | | | |
20.05 | 161 | 148 | | S13Stage 13 - Sanremo › Cuneo | 150 | | | |
19.05 | 142 | 146 | | S12Stage 12 - Parma › Genova | 204 | | | |
18.05 | 125 | 141 | | S11Stage 11 - Santarcangelo di Romagna › Reggio Emilia | 203 | | | |
17.05 | 93 | 142 | | S10Stage 10 - Pescara › Jesi | 196 | | | |
15.05 | 157 | 154 | | S9Stage 9 - Isernia › Blockhaus | 191 | | | |
14.05 | 149 | 154 | | S8Stage 8 - Napoli › Napoli | 153 | | | |
13.05 | 124 | 153 | | S7Stage 7 - Diamante › Potenza | 196 | | | |
12.05 | 147 | 154 | | S6Stage 6 - Palmi › Scalea | 192 | | | |
11.05 | 97 | 154 | | S5Stage 5 - Catania › Messina | 174 | | | |
10.05 | 141 | 167 | | S4Stage 4 - Avola › Etna | 172 | | | |
08.05 | 170 | 172 | | S3Stage 3 - Kaposvár › Balatonfüred | 201 | | | |
07.05 | 28 | 170 | | S2 (ITT)Stage 2 (ITT) - Budapest › Budapest | 9.2 | | | |
06.05 | 170 | 172 | | S1Stage 1 - Budapest › Visegrád | 195 | | | |
01.05 | 80 | | | Eschborn-Frankfurt (1.UWT) | 185 | 5 | | more |
10.04 › 17.0410-17/4 | | | | Presidential Cycling Tour of Türkiye (2.Pro) | | | | more |
| 89 | | | General classificationGeneral classification | | | | |
17.04 | DF | | | S8Stage 8 - İstanbul › İstanbul | 137.8 | | | |
16.04 | 124 | 89 | | S7Stage 7 - Gelibolu › Tekirdağ | 131.3 | | | |
15.04 | 95 | 63 | | S6Stage 6 - Edremit (Akçay) › Eceabat (57.Alay Şehitliği) | 201.5 | | | |
14.04 | 102 | 52 | | S5Stage 5 - Manisa › Ayvalık | 186.1 | | | |
13.04 | 70 | 55 | | S4Stage 4 - İzmir (Konak) › Manisa (Spil Milli Park) | 146.2 | | | |
12.04 | 56 | 19 | | S3Stage 3 - Çeşme › İzmir (Karşıyaka) | 117.9 | | | |
11.04 | 30 | 22 | | S2Stage 2 - Selçuk (Efes) › Alaçatı | 156.4 | | | |
10.04 | 34 | 34 | | S1Stage 1 - Bodrum › Kuşadası | 202 | | | |
19.03 | 80 | | | Milano-Sanremo (1.UWT) | 293 | 5 | | more |
07.03 › 13.037-13/3 | | | | Tirreno-Adriatico (2.UWT) | | | | more |
| 24 | | | Points classificationPoints classification | | | | |
| 111 | | | General classificationGeneral classification | | 5 | | |
13.03 | 101 | | | S7Stage 7 - San Benedetto del Tronto › San Benedetto del Tronto | 159 | | | |
12.03 | 103 | 115 | | S6Stage 6 - Apecchio › Carpegna | 215 | | | |
11.03 | 117 | 118 | | S5Stage 5 - Sefro › Fermo | 155 | | | |
10.03 | 144 | 114 | | S4Stage 4 - Cascata delle Marmore › Bellante | 202 | | | |
09.03 | 42 | 5 | | S3Stage 3 - Murlo › Terni | 170 | | | |
08.03 | 58 | 5 | | S2Stage 2 - Camaiore › Sovicille | 219 | | | |
07.03 | 5 | 5 | | S1 (ITT)Stage 1 (ITT) - Lido di Camaiore › Lido di Camaiore | 13.9 | 10 | | |
20.02 › 26.0220-26/2 | | | | UAE Tour (2.UWT) | | | | more |
| 113 | | | General classificationGeneral classification | | 5 | | |
26.02 | 96 | | | S7Stage 7 - Al Ain › Jebel Hafeet | 148 | | | |
25.02 | 109 | 122 | | S6Stage 6 - Expo 2020 Dubai › Expo 2020 Dubai | 180 | | | |
24.02 | 113 | 118 | | S5Stage 5 - Ras al Khaimah Corniche › Al Marjan Island | 182 | | | |
23.02 | 105 | 113 | | S4Stage 4 - Fujairah Fort › Jebel Jais | 181 | | | |
22.02 | 29 | 101 | | S3 (ITT)Stage 3 (ITT) - Ajman › Ajman | 9 | | | |
21.02 | 111 | 110 | | S2Stage 2 - Hudayriyat Island › Abu Dhabi Breakwater | 176 | | | |
20.02 | 35 | 38 | | S1Stage 1 - Madinat Zayed › Madinat Zayed | 184 | | | |
13.02 | 88 | | | Clasica de Almeria (1.Pro) | 188.2 | | | more |