| 09-10 | DNF | | Gran Piemonte (1.Pro) | 179.0km |
| 07-10 | 20 | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 05-10 | 39 | | Coppa Agostoni (1.1) | 166.0km |
| 04-10 | 37 | | Il Lombardia Under 23 (1.2U) | 170.0km |
| 01-10 | 17 | | UEC Road European Championships TT U23 (CC) | 24.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 13-09 | DNF | | Memorial Marco Pantani (1.1) | 195.0km |
| 11-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 10-09 | DNF | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 58 | 54 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 61 | 52 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 52 | 54 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 93 | 82 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 119 | 92 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 113 | 61 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 2 | 56 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 80 | 80 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Czech Tour (2.1) |
| 51 | | Klassement |
| 7 | | Punten |
| 22 | | Jongeren |
| 17-08 | 41 | 51 | Stage 4Kroměříž - Pustevny (178.0km) | 178.0km |
| 16-08 | 6 | 59 | Stage 3Prostejov - Ostrava (148.0km) | 148.0km |
| 15-08 | 66 | 59 | Stage 2Pardubice - Dlouhé (173.0km) | 173.0km |
| 14-08 | 2 | 2 | Stage 1Praha - Karlovy Vary (163.0km) | 163.0km |
| 10-08 | 39 | | Gran Premio Sportivi di Poggiana-Trofeo Bonin Costruzioni (1.2U) | |
| | | Ethias-Tour de Wallonie (2.Pro) |
| 53 | | Klassement |
| 6 | | Punten |
| 21 | | Jongeren |
| 30-07 | 53 | 53 | Stage 5Bertrix - Bertrix (183.0km) | 183.0km |
| 29-07 | 62 | 57 | Stage 4Welkenraedt - Seraing (163.0km) | 163.0km |
| 28-07 | 1 | 59 | Stage 3Estinnes - Antoing (165.0km) | 165.0km |
| 27-07 | 23 | 68 | Stage 2Huy - Sambreville (153.0km) | 153.0km |
| 26-07 | 92 | 93 | Stage 1Nassogne - Nassogne (182.0km) | 182.0km |
| 29-06 | DNF | | National Road Championships - Italy U23 (CN) | |
| 26-06 | 1 | | National Road Championships - Italy TT U23 (CN) | |
| 24-06 | 49 | | Giro dell'Appennino (1.1) | 198.0km |
| 04-05 | DNF | | Lotto Famenne Ardenne Classic (1.1) | 186.0km |
| 03-05 | DNF | | Flèche Ardennaise (1.2) | 174.0km |
| 22-04 | DNF | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 21-04 | 43 | | Giro del Belvedere (1.2U) | 168.0km |
| 19-04 | 67 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 13-04 | 47 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 05-04 | 5 | | Boucle de l'Artois (1.2) | 191.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 49 | | Klassement |
| 4 | | Punten |
| 15 | | Jongeren |
| 29-03 | 2 | 49 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 11 | 68 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 79 | 106 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 128 | 128 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 4 | 4 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 09-03 | 13 | | POREČ Classic (1.2) | 146.0km |
| 05-03 | 100 | | UMAG Classic (1.2) | 142.0km |
| 02-02 | 19 | | Trofeo Palma (1.1) | 149.0km |
| 30-01 | 51 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |