| | | Presidential Cycling Tour of Türkiye (2.Pro) |
| 09-10 | DNF | | Stage 2Antalya - Demre (147.0km) | 147.0km |
| 08-10 | 109 | | Stage 1Antalya - Antalya (175.0km) | 175.0km |
| 05-10 | 1 | | Asian Games Hangzhou Cycling - Road (CC) | |
| | | Tour de Slovaquie (2.1) |
| 89 | | Klassement |
| 21 | | Berg |
| 17-09 | 99 | 89 | Stage 5Hlohovec - Puchov (183.0km) | 183.0km |
| 16-09 | 96 | 91 | Stage 4Prievizda - Nitra (149.0km) | 149.0km |
| 15-09 | 97 | 93 | Stage 3Ruzomberok - Martin (171.0km) | 171.0km |
| 14-09 | 53 | 72 | Stage 2Presov - Poprad (143.0km) | 143.0km |
| 13-09 | 88 | 88 | Stage 1Košice - Košice (172.0km) | 172.0km |
| 03-09 | DNF | | Maryland Cycling Classic (1.Pro) | 196.0km |
| 11-08 | 39 | | UCI World Championship Glasgow TT (CM) | 47.0km |
| 06-08 | DNS | | UCI World Championship Glasgow (CM) | 271.0km |
| 30-07 | 20 | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 193.0km |
| | | Tour de France (2.UWT) |
| 148 | | Klassement |
| 27 | | Jongeren |
| 23-07 | 19 | 148 | Stage 21Saint-Quentin-en-Yvelines - Paris (115.0km) | 115.0km |
| 22-07 | 145 | 148 | Stage 20Belfort - Le Markstein (133.0km) | 133.0km |
| 21-07 | 125 | 149 | Stage 19Moirans-en-Montagne - Poligny (173.0km) | 173.0km |
| 20-07 | 131 | 149 | Stage 18Moûtiers - Bourg-en-Bresse (185.0km) | 185.0km |
| 19-07 | 143 | 151 | Stage 17Saint-Gervais Mont-Blanc - Courchevel (166.0km) | 166.0km |
| 18-07 | 91 | 154 | Stage 16Passy - Combloux (22.0km) | 22.0km |
| 16-07 | 133 | 155 | Stage 15Les Gets - Saint-Gervais Mont-Blanc (179.0km) | 179.0km |
| 15-07 | 111 | 157 | Stage 14Annemasse - Morzine (152.0km) | 152.0km |
| 14-07 | 119 | 164 | Stage 13Chatillon-sur-Chalaronne - Le Grand Colombier (138.0km) | 138.0km |
| 13-07 | 109 | 166 | Stage 12Roanne - Belleville-en-Beaujolais (169.0km) | 169.0km |
| 12-07 | 97 | | Stage 11Clermont-Ferrand - Moulins (180.0km) | 180.0km |
| 11-07 | 117 | 167 | Stage 10Vulcania (Auvergne) - Issoire (167.0km) | 167.0km |
| 09-07 | 120 | 169 | Stage 9Saint-Léonard-de-Noblat - Puy de Dôme (182.0km) | 182.0km |
| 08-07 | 159 | 170 | Stage 8Libourne - Limoges (201.0km) | 201.0km |
| 07-07 | 172 | 172 | Stage 7Mont-de-Marsan - Bordeaux (170.0km) | 170.0km |
| 06-07 | 167 | 172 | Stage 6Tarbes - Cauterets-Cambasque (145.0km) | 145.0km |
| 05-07 | 166 | 172 | Stage 5Pau - Laruns (163.0km) | 163.0km |
| 04-07 | 107 | 174 | Stage 4Dax - Nogaro (182.0km) | 182.0km |
| 03-07 | 174 | 174 | Stage 3Amorebieta - Bayonne (193.0km) | 193.0km |
| 02-07 | 161 | 174 | Stage 2Vitoria-Gasteiz - San Sebastián (209.0km) | 209.0km |
| 01-07 | 174 | 174 | Stage 1Bilbao - Bilbao (182.0km) | 182.0km |
| 13-06 | 10 | | Asian Road Championships (CC) | |
| 10-06 | 1 | | Asian Road Championships TT (CC) | |
| 02-06 | 33 | | TrofeoAlcide Degasperi (1.2) | 163.0km |
| 09-04 | 26 | | Paris-Roubaix (1.UWT) | 256.0km |
| 05-04 | 128 | | Scheldeprijs (1.Pro) | 205.0km |
| 02-04 | 63 | | Ronde van Vlaanderen (1.UWT) | 273.0km |
| 29-03 | 100 | | Dwars door Vlaanderen (1.UWT) | 183.0km |
| 26-03 | 58 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 260.0km |
| 24-03 | 100 | | E3 Saxo Bank Classic (1.UWT) | 204.0km |
| 22-03 | DNF | | Classic Brugge-De Panne (1.UWT) | 211.0km |
| 15-03 | 25 | | Milano - Torino (1.Pro) | 192.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 106 | | Klassement |
| 12-03 | 20 | 106 | Stage 7San Benedetto del Tronto - San Benedetto del Tronto (154.0km) | 154.0km |
| 11-03 | 100 | 111 | Stage 6Osimo - Osimo (194.0km) | 194.0km |
| 10-03 | 84 | 114 | Stage 5Morro d'Oro - Sarnano Sassotetto (168.0km) | 168.0km |
| 09-03 | 118 | 140 | Stage 4Greccio - Tortoreto Lido (219.0km) | 219.0km |
| 08-03 | 31 | 132 | Stage 3Follonica - Foligno (216.0km) | 216.0km |
| 07-03 | 165 | 165 | Stage 2Camaiore - Follonica (209.0km) | 209.0km |
| 06-03 | 75 | 75 | Stage 1Lido di Camaiore - Lido di Camaiore (11.0km) | 11.0km |
| 04-03 | DNS | | Strade Bianche (1.UWT) | 184.0km |
| 26-02 | 83 | | Kuurne-Brussel-Kuurne (1.Pro) | 193.0km |
| 25-02 | 85 | | Omloop Het Nieuwsblad Elite (1.UWT) | 207.0km |
| | | Tour of Oman (2.Pro) |
| 77 | | Klassement |
| 15-02 | 79 | 77 | Stage 5Samail - Jabal al Akhdhar (Green Mountain) (152.0km) | 152.0km |
| 14-02 | 83 | 76 | Stage 4Izki - Yitti Hills (204.0km) | 204.0km |
| 13-02 | 87 | 75 | Stage 3Al Khobar - Jabal Haat (151.0km) | 151.0km |
| 12-02 | 75 | 73 | Stage 2Muscat - Qurayyat (174.0km) | 174.0km |
| 11-02 | 79 | 80 | Stage 1Al Rustaq Fort - Muscat (147.0km) | 147.0km |
| 10-02 | 53 | | Muscat Classic (1.1) | 173.0km |