| 14.10 › 19.1014-19/10 | | | | Tour of Guangxi (2.UWT) | | | | more |
| 34 | | | Youth classificationYouth classification | | | | |
| 74 | | | General classificationGeneral classification | | 5 | | |
| 19.10 | 69 | | | S6Stage 6 - Nanning › Nanning | 134.3 | | | |
| 18.10 | 85 | 79 | | S5Stage 5 - Yizhou › Nongla | 165.8 | | | |
| 17.10 | 94 | 62 | | S4Stage 4 - Bama › Jinchengjiang | 176.8 | | | |
| 16.10 | 108 | 46 | | S3Stage 3 - Jingxi › Bama | 214 | | | |
| 15.10 | 23 | 21 | | S2Stage 2 - Chongzuo › Jingxi | 177.4 | | | |
| 14.10 | 13 | 19 | | S1Stage 1 - Fangchenggang › Fangchenggang | 149.4 | | | |
| 09.10 › 12.109-12/10 | | | | Tour of Taihu Lake (2.Pro) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 45 | | | General classificationGeneral classification | | | | |
| 12.10 | 54 | | | S4Stage 4 - Wuxi › Wuxi | 137.5 | | | |
| 11.10 | 111 | 45 | | S3Stage 3 - Huilongzhen › Binhan Village | 79.16 | | | |
| 10.10 | 33 | 22 | | S2Stage 2 - Suzhou Wujiang › Suzhou Wujiang | 122 | | | |
| 09.10 | 20 | 22 | | S1Stage 1 - Nanjing › Nanjing | 96.5 | | | |
| 03.10 | 85 | | | Sparkassen Münsterland Giro (1.Pro) | 192 | | | more |
| 26.09 | 21 | | | Zwevezele Koers (NAT) | 153.5 | | | more |
| 24.09 | 30 | | | Omloop van het Houtland (1.1) | 198.7 | | | more |
| 21.09 | 51 | | | Grand Prix d'Isbergues - Pas de Calais (1.1) | 201.1 | | | more |
| 19.09 | 79 | | | Kampioenschap van Vlaanderen (1.1) | 180.2 | | | more |
| 02.09 › 07.092-7/9 | | | | Tour of Britain Men (2.Pro) | | | | more |
| 15 | | | Youth classificationYouth classification | | | | |
| 63 | | | General classificationGeneral classification | | | | |
| 07.09 | 60 | | | S6Stage 6 - Newport › Cardiff | 112.2 | | | |
| 06.09 | 57 | 66 | | S5Stage 5 - Pontypool › The Tumble | 133.6 | | | |
| 05.09 | 75 | 80 | | S4Stage 4 - Atherstone › Burton Dassett | 186.9 | | | |
| 04.09 | 108 | 91 | | S3Stage 3 - Milton Keynes › Ampthill | 122.8 | | | |
| 03.09 | 17 | 67 | | S2Stage 2 - Stowmarket › Stowmarket | 169.3 | | | |
| 02.09 | 113 | 106 | | S1Stage 1 - Woodbridge › Southwold | 161.4 | | | |
| 12.08 › 16.0812-16/8 | | | | PostNord Tour of Denmark (2.Pro) | | | | more |
| 11 | | | Youth classificationYouth classification | | | | |
| 37 | | | General classificationGeneral classification | | | 3 | |
| 16.08 | 56 | | | S5Stage 5 - Hobro › Silkeborg | 157.4 | | | |
| 15.08 | 39 | 35 | | S4Stage 4 - Svendborg › Vejle | 226.9 | | | |
| 14.08 | 23 | 19 | | S3 (ITT)Stage 3 (ITT) - Kerteminde › Kerteminde | 14.3 | | | |
| 13.08 | 71 | 45 | | S2Stage 2 - Rødovre › Gladsaxe | 105.5 | | | |
| 12.08 | 46 | 45 | | S1Stage 1 - Nexø › Rønne | 178.3 | | | |
| 29.06 | DNF | | | National Championships Great Britain ME - Road Race (NC) | 187 | | | more |
| 26.06 | 8 | | | National Championships Great Britain ME - ITT (NC) | 41 | | 3 | more |
| 18.06 › 22.0618-22/6 | | | | Baloise Belgium Tour (2.Pro) | | | | more |
| 15 | | | Youth classificationYouth classification | | | | |
| 71 | | | General classificationGeneral classification | | | | |
| 22.06 | 100 | | | S5Stage 5 - Brussels › Brussels | 183.4 | | | |
| 21.06 | 91 | 74 | | S4Stage 4 - Durbuy › Durbuy | 173 | | | |
| 20.06 | 36 | 34 | | S3 (ITT)Stage 3 (ITT) - Tessenderlo › Ham | 9.7 | | | |
| 19.06 | 93 | 89 | | S2Stage 2 - Beringen › Putte | 194.4 | | | |
| 18.06 | 102 | 104 | | S1Stage 1 - Merelbeke-Melle › Knokke-Heist | 197.6 | | | |
| 15.06 | 114 | | | Elfstedenronde Brugge (1.1) | 196 | | | more |
| 08.06 | 93 | | | Brussels Cycling Classic (1.Pro) | 205.5 | | | more |
| 07.06 | 14 | | | Heylen Vastgoed Heistse Pijl (1.1) | 189.5 | 7 | 5 | more |
| 29.05 › 01.0629-1/5 | | | | Boucles de la Mayenne - Crédit Mutuel (2.Pro) | | | | more |
| 28 | | | Youth classificationYouth classification | | | | |
| 92 | | | General classificationGeneral classification | | | | |
| 01.06 | 77 | | | S3Stage 3 - Javron-les-Chapelles › Laval | 163.9 | | | |
| 31.05 | 76 | 99 | | S2Stage 2 - Sainte-Suzanne › Bais | 210.2 | | | |
| 30.05 | 122 | 120 | | S1Stage 1 - Saint-Berthevin › Juvigné | 166 | | | |
| 29.05 | 32 | 32 | | ProloguePrologue - Espace Mayenne - Laval › Espace Mayenne - Laval | 5.4 | | | |
| 27.04 › 04.0527-4/4 | | | | Presidential Cycling Tour of Turkiye (2.Pro) | | | | more |
| 33 | | | General classificationGeneral classification | | | 3 | |
| 04.05 | 115 | | | S8Stage 8 - Çeşme › İzmir (Karşıyaka) | 105.7 | | | |
| 03.05 | 110 | 34 | | S7Stage 7 - Selçuk › Çeşme | 144.2 | | | |
| 02.05 | 46 | 34 | | S6Stage 6 - Selçuk › Selçuk (Meryem Ana) | 156 | | | |
| 30.04 | 46 | 40 | | S4Stage 4 - Marmaris › Akyaka (Kıran) | 115.4 | | | |
| 29.04 | 63 | 61 | | S3Stage 3 - Fethiye › Marmaris | 175.9 | | | |
| 28.04 | 74 | 74 | | S2Stage 2 - Kemer › Kalkan | 167.4 | | | |
| 27.04 | 154 | 154 | | S1Stage 1 - Antalya › Antalya | 132 | | | |
| 16.04 | 53 | | | Ronde van Limburg (1.1) | 178.6 | | | more |
| 13.04 | 54 | | | Paris-Roubaix (1.UWT) | 259.2 | 5 | 10 | more |
| 09.04 | 36 | | | Scheldeprijs ME (1.Pro) | 202.8 | | 3 | more |
| 06.04 | DNF | | | Ronde van Vlaanderen - Tour des Flandres ME (1.UWT) | 268.9 | | | more |
| 02.04 | 83 | | | Dwars door Vlaanderen - A travers la Flandre ME (1.UWT) | 184.2 | 5 | | more |
| 30.03 | DNF | | | Gent-Wevelgem in Flanders Fields ME (1.UWT) | 250.3 | | | more |
| 26.03 | 102 | | | Classic Brugge-De Panne ME (1.UWT) | 195.6 | 5 | | more |
| 22.03 | 148 | | | Milano-Sanremo (1.UWT) | 289 | 5 | | more |
| 02.02 | DNF | | | Grand Prix Cycliste de Marseille La Marseillaise (1.1) | 164.2 | | | more |