| 16-10 | 23 | | Chrono des Nations (1.1) | 45.0km |
| 03-10 | 91 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 15-09 | DNF | | Coppa Sabatini (1.Pro) | |
| 14-09 | DNF | | Giro della Toscana (1.1) | 191.0km |
| | | Tour of Britain (2.Pro) |
| 97 | | Klassement |
| 08-09 | 87 | 97 | Stage 5West Bridgford - Mansfield (186.0km) | 186.0km |
| 07-09 | 98 | 98 | Stage 4Redcar - Duncombe Park (149.0km) | 149.0km |
| 06-09 | 87 | 102 | Stage 3Durham - Sunderland (163.0km) | 163.0km |
| 05-09 | 103 | 105 | Stage 2Hawick - Duns (175.0km) | 175.0km |
| 04-09 | 106 | 106 | Stage 1Aberdeen - Glenshee Ski Centre (181.0km) | 181.0km |
| | | PostNord Danmark Rundt - Tour of Denmark (2.Pro) |
| 20-08 | DNF | | Stage 5Give - Vejle (126.0km) | 126.0km |
| 19-08 | 134 | 114 | Stage 4Skive - Skive (167.0km) | 167.0km |
| 18-08 | 87 | 92 | Stage 3Otterup - Otterup (239.0km) | 239.0km |
| 17-08 | 27 | 129 | Stage 2Assens - Assens (12.0km) | 12.0km |
| 16-08 | 131 | 131 | Stage 1Allerød - Køge (225.0km) | 225.0km |
| | | Tour de Pologne (2.UWT) |
| 89 | | Klassement |
| 05-08 | 123 | 89 | Stage 7Valsir - Kraków (177.0km) | 177.0km |
| 04-08 | 78 | 87 | Stage 6Szaflary - Rusinski (15.0km) | 15.0km |
| 03-08 | 51 | 91 | Stage 5Lancut - Rzeszów (178.0km) | 178.0km |
| 02-08 | 100 | 93 | Stage 4Lesko - Sanok (179.0km) | 179.0km |
| 01-08 | 94 | 87 | Stage 3Krasnik - Przemysl (237.0km) | 237.0km |
| 31-07 | 83 | 87 | Stage 2Chelm - Zamosc (205.0km) | 205.0km |
| 30-07 | 96 | 97 | Stage 1Kielce - Lublin (217.0km) | 217.0km |
| 26-06 | DNS | | National Road Championships - Great Britain (CN) | |
| 23-06 | 8 | | National Road Championships - Great Britain TT (CN) | |
| | | Giro d'Italia (2.UWT) |
| 134 | | Klassement |
| 29-05 | 142 | 134 | Stage 21Verona - Verona (17.0km) | 17.0km |
| 28-05 | 112 | 134 | Stage 20Belluno - Marmolada (168.0km) | 168.0km |
| 27-05 | 143 | 135 | Stage 19Marano Lagunare - Santuario di Castelmonte (178.0km) | 178.0km |
| 26-05 | 79 | 135 | Stage 18Borgo Valsugana - Treviso (152.0km) | 152.0km |
| 25-05 | 129 | 137 | Stage 17Ponte di Legno Tonale - Lavarone (168.0km) | 168.0km |
| 24-05 | 109 | 138 | Stage 16Salo - Aprica (202.0km) | 202.0km |
| 22-05 | 121 | 140 | Stage 15Rivarolo Canavese - Cogne (177.0km) | 177.0km |
| 21-05 | 107 | 140 | Stage 14Santenay - Torino (147.0km) | 147.0km |
| 20-05 | 161 | 148 | Stage 13Sanremo - Cuneo (150.0km) | 150.0km |
| 19-05 | 142 | 146 | Stage 12Parma - Genova (204.0km) | 204.0km |
| 18-05 | 125 | 141 | Stage 11Santarcangelo di Romagna - Reggio Emilia (203.0km) | 203.0km |
| 17-05 | 93 | 142 | Stage 10Pescara - Jesi (196.0km) | 196.0km |
| 15-05 | 157 | 154 | Stage 9Isernia - Blockhaus (191.0km) | 191.0km |
| 14-05 | 149 | 154 | Stage 8Napoli - Napoli (153.0km) | 153.0km |
| 13-05 | 124 | 153 | Stage 7Diamante - Potenza (196.0km) | 196.0km |
| 12-05 | 147 | 154 | Stage 6Palmi - Scalea (192.0km) | 192.0km |
| 11-05 | 97 | 154 | Stage 5Catania - Messina (174.0km) | 174.0km |
| 10-05 | 141 | 167 | Stage 4Avola - Etna (172.0km) | 172.0km |
| 08-05 | 171 | 172 | Stage 3Kaposvár - Balatonfüred (201.0km) | 201.0km |
| 07-05 | 28 | 170 | Stage 2Budapest - Budapest (9.0km) | 9.0km |
| 06-05 | 171 | 172 | Stage 1Budapest - Visegrád (195.0km) | 195.0km |
| 01-05 | DNF | | Eschborn-Frankfurt (1.UWT) | 183.0km |
| | | Presidential Cycling Tour of Türkiye (2.Pro) |
| 89 | | Klassement |
| 17-04 | | 89 | Stage 8Istanbul - Istanbul (136.0km) | 136.0km |
| 16-04 | 124 | 89 | Stage 7Gallipoli - Tekirdag (135.0km) | 135.0km |
| 15-04 | 95 | 63 | Stage 6Edremit - Eceabat (205.0km) | 205.0km |
| 14-04 | 102 | | Stage 5Manisa - Ayvalik (192.0km) | 192.0km |
| 13-04 | 70 | 55 | Stage 4İzmir - Manisa (147.0km) | 147.0km |
| 12-04 | 56 | 19 | Stage 3Çeşme - İzmir (123.0km) | 123.0km |
| 11-04 | 30 | 22 | Stage 2Selçuk - Alacati (158.0km) | 158.0km |
| 10-04 | 34 | 34 | Stage 1Bodrum - Kusadasi (207.0km) | 207.0km |
| 19-03 | 80 | | Milano-Sanremo (1.UWT) | 293.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 111 | | Klassement |
| 24 | | Punten |
| 13-03 | 101 | 111 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (159.0km) | 159.0km |
| 12-03 | 104 | 115 | Stage 6Apecchio - Carpegna (213.0km) | 213.0km |
| 11-03 | 118 | 118 | Stage 5Sefro - Fermo (155.0km) | 155.0km |
| 10-03 | 145 | 114 | Stage 4Cascata delle Marmore - Bellante (202.0km) | 202.0km |
| 09-03 | 43 | 4 | Stage 3Murlo - Terni (170.0km) | 170.0km |
| 08-03 | 59 | 5 | Stage 2Camaiore - Sovicille (219.0km) | 219.0km |
| 07-03 | 5 | 5 | Stage 1Lido di Camaiore - Lido di Camaiore (13.0km) | 13.0km |
| | | UAE Tour (2.UWT) |
| 114 | | Klassement |
| 26-02 | 97 | 114 | Stage 7Al Ain - Jebel Hafeet (148.0km) | 148.0km |
| 25-02 | 110 | 122 | Stage 6Dubai - Dubai (180.0km) | 180.0km |
| 24-02 | 114 | 118 | Stage 5Ras al Khaimah Corniche - Al Marjan Island (182.0km) | 182.0km |
| 23-02 | 106 | 113 | Stage 4Fujairah Fort - Jebel Jais (181.0km) | 181.0km |
| 22-02 | 29 | 101 | Stage 3Ajman - Ajman (9.0km) | 9.0km |
| 21-02 | 112 | 110 | Stage 2Al Hudayriyat Island - Abu Dhabi Breakwater (173.0km) | 173.0km |
| 20-02 | 35 | 38 | Stage 1Madinat Zayed - Madinat Zayed (185.0km) | 185.0km |
| 13-02 | 88 | | Clasica de Almeria (1.Pro) | |