| 15-10 | 21 | | Japan Cup Cycle Road Race (1.Pro) | 164.0km |
| 14-10 | 13 | | Japan Cup Criterium (CRTP) | |
| 05-10 | 37 | | Gran Piemonte (1.Pro) | 152.0km |
| 03-10 | 59 | | Tre Valli Varesine (1.Pro) | 196.0km |
| 02-10 | 57 | | Coppa Bernocchi (1.Pro) | 187.0km |
| 22-09 | 7 | | UEC Road European Championships U23 (CC) | 136.0km |
| 17-09 | 11 | | Trofeo Matteotti (1.1) | 195.0km |
| 16-09 | DNF | | Memorial Marco Pantani (1.1) | 193.0km |
| 14-09 | 13 | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | |
| 13-09 | 52 | | Giro della Toscana (1.1) | |
| 10-09 | 38 | | Grand Prix de la Somme Conseil Départemental 80 (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 42 | | Klassement |
| 4 | | Punten |
| 18 | | Berg |
| 27-08 | 63 | 42 | Stage 8Val Cenis - Sainte-Foy-Tarentaise (100.0km) | 100.0km |
| 26-08 | 67 | 40 | Stage 7bLes Karellis - Col du Mont Cenis (70.0km) | 70.0km |
| 26-08 | 61 | 42 | Stage 7aMontricher-Albanne - Les Karellis (11.0km) | 11.0km |
| 25-08 | 67 | 42 | Stage 6Méribel - Col de la Loze (Méribel) (65.0km) | 65.0km |
| 24-08 | 3 | 10 | Stage 5La Tour-de-Salvagny - Lac d'Aiguebelette (141.0km) | 141.0km |
| 23-08 | 4 | 13 | Stage 4Aigurande - Évaux-les-Bains (149.0km) | 149.0km |
| 22-08 | | 21 | Stage 3Vatan - Issoudun (21.0km) | 21.0km |
| 21-08 | 10 | 9 | Stage 2Nozay - Château-Chinon (189.0km) | 189.0km |
| 20-08 | 10 | 10 | Stage 1Carnac - La Gacilly (140.0km) | 140.0km |
| 12-08 | DNF | | UCI World Championship Glasgow U23 (CM) | 168.0km |
| | | Czech Tour (2.1) |
| 14 | | Klassement |
| 19 | | Punten |
| 30-07 | 6 | 14 | Stage 4Šumperk - Šumperk (178.0km) | 178.0km |
| 29-07 | 22 | 23 | Stage 3Moravská Třebová - Cervenohorské sedlo (161.0km) | 161.0km |
| 28-07 | 27 | 27 | Stage 2Olomouc - Pustevny (166.0km) | 166.0km |
| 27-07 | 52 | 52 | Stage 1Prostejov - Uničov (167.0km) | 167.0km |
| 24-06 | 1 | | National Road Championships - Italy U23 (CN) | |
| | | Giro d'Italia Giovani (2.2U) |
| 20 | | Klassement |
| 12 | | Punten |
| 18-06 | 12 | 20 | Stage 8Tavagnacco - Trieste (131.0km) | 131.0km |
| 17-06 | 22 | 21 | Stage 7Possagno - Pian del Cansiglio (175.0km) | 175.0km |
| 16-06 | 59 | 26 | Stage 6Pergine Valsugana - Povegliano (166.0km) | 166.0km |
| 15-06 | 3 | 24 | Stage 5Cesano Maderno - Manerba del Garda (164.0km) | 164.0km |
| 14-06 | 31 | 27 | Stage 4Morbegno - Passo dello Stelvio (118.0km) | 118.0km |
| 13-06 | 61 | 10 | Stage 3Priocca - Magenta (146.0km) | 146.0km |
| 12-06 | 2 | 10 | Stage 2San Francesco al Campo - Cherasco (151.0km) | 151.0km |
| 11-06 | 16 | 16 | Stage 1Aglie - Aglie (9.0km) | 9.0km |
| 02-06 | 4 | | Giro dell'Appennino (1.1) | 198.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 20 | | Klassement |
| 28-05 | 27 | 20 | Stage 5Sanok - Arlamów (146.0km) | 146.0km |
| 27-05 | 3 | 16 | Stage 4Bukovina - Nowy Sacz (128.0km) | 128.0km |
| 26-05 | 1 | 17 | Stage 3Levoca - Strbské Pleso (130.0km) | 130.0km |
| 25-05 | 31 | 22 | Stage 2Hatvan - Bükkszentkereszt (154.0km) | 154.0km |
| 24-05 | 4 | 4 | Stage 1Kapsosvár - Balatonföldvár (136.0km) | 136.0km |
| 21-05 | 29 | | Rund um Köln (1.1) | 201.0km |
| 18-05 | 22 | | Circuit de Wallonie (1.1) | |
| 07-05 | 2 | | Flèche Ardennaise (1.2) | 170.0km |
| 15-04 | 1 | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| 12-04 | 14 | | De Brabantse Pijl (1.Pro) | 205.0km |
| | | Circuit des Ardennes (2.2) |
| 6 | | Klassement |
| 4 | | Punten |
| 09-04 | 6 | 6 | Stage 4Bazeilles - Charleville-Mézières (180.0km) | 180.0km |
| 08-04 | 5 | 8 | Stage 3Chooz - Haybes (166.0km) | 166.0km |
| 07-04 | 10 | 10 | Stage 2Renneville - Gruyères (187.0km) | 187.0km |
| 06-04 | 18 | 18 | Stage 1Nouvion-sur-Meuse - Sedan (90.0km) | 90.0km |
| 01-04 | DNF | | Volta Limburg Classic (1.1) | 196.0km |
| 15-03 | 42 | | Milano - Torino (1.Pro) | 192.0km |
| 01-03 | 42 | | Trofeo Laigueglia (1.Pro) | 201.0km |
| 26-02 | 21 | | Faun Drome Classic (1.Pro) | |
| 25-02 | 70 | | Faun-Ardèche Classic
(1.Pro) | |
| | | Tour of Oman (2.Pro) |
| 44 | | Klassement |
| 15-02 | 54 | 44 | Stage 5Samail - Jabal al Akhdhar (Green Mountain) (152.0km) | 152.0km |
| 14-02 | 33 | 45 | Stage 4Izki - Yitti Hills (204.0km) | 204.0km |
| 13-02 | 53 | 48 | Stage 3Al Khobar - Jabal Haat (151.0km) | 151.0km |
| 12-02 | 43 | 44 | Stage 2Muscat - Qurayyat (174.0km) | 174.0km |
| 11-02 | 109 | 109 | Stage 1Al Rustaq Fort - Muscat (147.0km) | 147.0km |
| 10-02 | 4 | | Muscat Classic (1.1) | 173.0km |