| 03-10 | 143 | | Sparkassen Münsterland Giro (1.Pro) | 191.0km |
| 06-09 | DNF | | Maryland Cycling Classic (1.Pro) | 172.0km |
| 17-08 | 94 | | ADAC Cyclassics (1.UWT) | 206.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 85 | | Klassement |
| 27 | | Punten |
| 37 | | Jongeren |
| 21-06 | 81 | 85 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 101 | 96 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 102 | | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 20 | 20 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 127 | | Klassement |
| 45 | | Jongeren |
| 15-06 | 126 | 127 | Stage 8Val d'Arc - Plateau du Mont-Cenis (133.0km) | 133.0km |
| 14-06 | 131 | 131 | Stage 7Grand-Algueblanche - Valmeinier (131.0km) | 131.0km |
| 13-06 | 103 | 132 | Stage 6Valserhône - Combloux (126.0km) | 126.0km |
| 12-06 | 129 | 136 | Stage 5Saint-Priest - Mâcon (183.0km) | 183.0km |
| 11-06 | 92 | 137 | Stage 4Charmes-sur-Rhône - Saint-Peray (17.0km) | 17.0km |
| 10-06 | 146 | 139 | Stage 3Brioude - Charantonnay (207.0km) | 207.0km |
| 09-06 | 122 | 131 | Stage 2Prémilhat - Issoire (204.0km) | 204.0km |
| 08-06 | 143 | 143 | Stage 1Domerat - Montlucon (195.0km) | 195.0km |
| 01-05 | 76 | | Eschborn-Frankfurt (1.UWT) | 198.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 10-04 | DNF | | Stage 3Tiercé - Hambers (165.0km) | 165.0km |
| 09-04 | 104 | 103 | Stage 2La Bernardière - Beaupréau (158.0km) | 158.0km |
| 08-04 | 97 | 97 | Stage 1Machecoul-Saint-Même - La Baule-Escoublac (208.0km) | 208.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 29-03 | DNF | | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 82 | 70 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 37 | 60 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 82 | 83 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 137 | 137 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 22-03 | 154 | | Milano-Sanremo (1.UWT) | 289.0km |
| 19-03 | 103 | | Milano - Torino (1.Pro) | 174.0km |
| | | UAE Tour (2.UWT) |
| 40 | | Klassement |
| 14 | | Jongeren |
| 23-02 | 50 | 40 | Stage 7Al Ain Hazza Bin Zayed Stadium - Jebel Hafeet (176.0km) | 176.0km |
| 22-02 | 74 | 40 | Stage 6Abu Dhabi Cycling Club - Abu Dhabi Breakwater (165.0km) | 165.0km |
| 21-02 | 86 | 42 | Stage 5American University Dubai - Hamdan Bin Mohammed Smart University (160.0km) | 160.0km |
| 20-02 | 74 | 43 | Stage 4Fujairah Qidfa Beach - Umm Al Quwain (181.0km) | 181.0km |
| 19-02 | 49 | 47 | Stage 3Ras Al Khaimah - Jebel Jais (181.0km) | 181.0km |
| 18-02 | 45 | 50 | Stage 2Al Hudayriyat Island - Al Hudayriyat Island (12.0km) | 12.0km |
| 17-02 | 65 | 66 | Stage 1Madinat Zayed - Liwa Palace (138.0km) | 138.0km |
| 02-02 | 68 | | Cadel Evans Great Ocean Road Race (1.UWT) | 187.0km |
| 30-01 | 86 | | Surf Coast Classic - Men (1.1) | 157.0km |
| | | Santos Tour Down Under (2.UWT) |
| 58 | | Klassement |
| 26-01 | 107 | 58 | Stage 6Adelaide - Adelaide (90.0km) | 90.0km |
| 25-01 | 52 | 59 | Stage 5McLaren Vale - Willunga (145.0km) | 145.0km |
| 24-01 | 89 | 71 | Stage 4Glenelg Shire - Victor Harbor (157.0km) | 157.0km |
| 23-01 | 65 | 64 | Stage 3Norwood - Uraidla (147.0km) | 147.0km |
| 22-01 | 68 | 82 | Stage 2Tanunda - Tanunda (128.0km) | 128.0km |
| 21-01 | 92 | 93 | Stage 1Prospect - Gumeracha (150.0km) | 150.0km |
| 18-01 | 86 | | Villawood Men's Classic (CRTP) | |