| | | Tour of Taihu Lake (2.Pro) |
| 29 | | Klassement |
| 4 | | Jongeren |
| 12-10 | 34 | 29 | Stage 4Wuxi - Wuxi (137.0km) | 137.0km |
| 11-10 | 46 | 29 | Stage 3Nantong - Qidong (79.0km) | 79.0km |
| 10-10 | 82 | 38 | Stage 2Suzhou - Suzhou (122.0km) | 122.0km |
| 09-10 | 22 | 24 | Stage 1Nanjing - Nanjing (96.0km) | 96.0km |
| 30-09 | 33 | | Ruota d'Oro - GP Festa del Perdono (1.2U) | 173.0km |
| 20-09 | 70 | | Milano-Rapallo (1.2) | 179.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 11-09 | 29 | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 07-09 | 47 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| 31-08 | 7 | | Grand Prix de Plouay (1.2) | 186.0km |
| | | Tour du Limousin (2.1) |
| 46 | | Klassement |
| 22 | | Jongeren |
| 22-08 | 7 | 46 | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 58 | 54 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 66 | 56 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 36 | 37 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| 17-08 | DNF | | La Polynormande (1.1) | 168.0km |
| 10-08 | 43 | | Gran Premio Sportivi di Poggiana-Trofeo Bonin Costruzioni (1.2U) | |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 33 | | Klassement |
| 25 | | Punten |
| 10 | | Jongeren |
| 30-07 | 38 | 33 | Stage 5Bertrix - Bertrix (183.0km) | 183.0km |
| 29-07 | 9 | 38 | Stage 4Welkenraedt - Seraing (163.0km) | 163.0km |
| 28-07 | 110 | 75 | Stage 3Estinnes - Antoing (165.0km) | 165.0km |
| 27-07 | 44 | 30 | Stage 2Huy - Sambreville (153.0km) | 153.0km |
| 26-07 | 17 | 17 | Stage 1Nassogne - Nassogne (182.0km) | 182.0km |
| 01-07 | DNF | | Trofeo Città di Brescia - Mem. Rino Fiori (1.2) | |
| 29-06 | DNF | | National Road Championships - Italy (CN) | 223.0km |
| 24-06 | DNF | | Giro dell'Appennino (1.1) | 198.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 107 | | Klassement |
| 22-06 | 106 | 107 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 58 | 108 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 120 | 119 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 64 | 112 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 18 | 122 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 150 | 130 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 89 | 92 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 118 | 118 | Stage 1Rho - Rho (8.0km) | 8.0km |
| 09-06 | DNF | | Antwerp Port Epic / Sels Trophy (1.1) | 180.0km |
| 08-06 | 44 | | Brussels Cycling Classic (1.Pro) | 205.0km |
| 02-06 | 5 | | TrofeoAlcide Degasperi (1.2) | |
| | | Tour de Hongrie (2.Pro) |
| 97 | | Klassement |
| 18-05 | 79 | 97 | Stage 5Etyek - Esztergom (167.0km) | 167.0km |
| 17-05 | 106 | 99 | Stage 4Tata - Székesfehérvár (167.0km) | 167.0km |
| 16-05 | 101 | 100 | Stage 3Gödöllő - Kékestető (163.0km) | 163.0km |
| 15-05 | 20 | 24 | Stage 2Veszprem - Siofok (178.0km) | 178.0km |
| 14-05 | 20 | 24 | Stage 1Budapest - Gyor (210.0km) | 210.0km |
| 11-05 | 71 | | Gran Premio Industrie del Marmo (1.2U) | 180.0km |
| 04-05 | 12 | | Lotto Famenne Ardenne Classic (1.1) | 186.0km |
| 03-05 | DNF | | Flèche Ardennaise (1.2) | 174.0km |
| 01-05 | 4 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 27-04 | DNF | | Giro della Provincia di Biella - Torino-Biella (1.2) | 144.0km |
| 25-04 | DNF | | Gran Premio della Liberazione (1.2U) | 138.0km |
| 21-04 | 13 | | Giro del Belvedere (1.2U) | 168.0km |
| 13-04 | 14 | | Tr. Città di S.Vendemiano - GP Industria & Commercio (1.2U) | 171.0km |
| 04-04 | 42 | | La Route Adélie de Vitré (1.1) | 174.0km |
| 02-04 | 76 | | Paris - Camembert (1.1) | 199.0km |
| 30-03 | 37 | | La Roue Tourangelle (1.1) | 197.0km |
| 27-03 | 75 | | GP Brda-Collio (1.2) | 150.0km |
| 23-03 | 27 | | Cholet Agglo Tour (1.1) | 205.0km |
| 21-03 | DNF | | Bredene Koksijde Classic (1.Pro) | 200.0km |
| | | Tirreno-Adriatico (2.UWT) |
| 13-03 | DNF | | Stage 4Norcia - Trasacco (190.0km) | 190.0km |
| 12-03 | 128 | 134 | Stage 3Follonica - Foligno (239.0km) | 239.0km |
| 11-03 | 29 | 151 | Stage 2Camaiore - Follonica (189.0km) | 189.0km |
| 10-03 | 155 | 155 | Stage 1Lido di Camaiore - Lido di Camaiore (11.0km) | 11.0km |
| | | UAE Tour (2.UWT) |
| 111 | | Klassement |
| 36 | | Jongeren |
| 23-02 | 102 | 111 | Stage 7Al Ain Hazza Bin Zayed Stadium - Jebel Hafeet (176.0km) | 176.0km |
| 22-02 | 32 | 120 | Stage 6Abu Dhabi Cycling Club - Abu Dhabi Breakwater (165.0km) | 165.0km |
| 21-02 | 32 | 125 | Stage 5American University Dubai - Hamdan Bin Mohammed Smart University (160.0km) | 160.0km |
| 20-02 | 33 | 128 | Stage 4Fujairah Qidfa Beach - Umm Al Quwain (181.0km) | 181.0km |
| 19-02 | 133 | 130 | Stage 3Ras Al Khaimah - Jebel Jais (181.0km) | 181.0km |
| 18-02 | 114 | 101 | Stage 2Al Hudayriyat Island - Al Hudayriyat Island (12.0km) | 12.0km |
| 17-02 | 89 | 89 | Stage 1Madinat Zayed - Liwa Palace (138.0km) | 138.0km |
| 02-02 | 55 | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | DNF | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 30-01 | 53 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |