| 27-09 | DNF | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 15-09 | 21 | | Trofeo Matteotti (1.1) | 194.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 5 | | Klassement |
| 2 | | Punten |
| 7 | | Berg |
| 24-08 | 12 | 5 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 1 | 4 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 7 | 7 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 7 | 7 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 5 | 25 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 24 | 35 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 34 | 34 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| 11-08 | 4 | | Gran Premio Sportivi di Poggiana-48° Trofeo Bonin Costruzioni (1.2U) | 165.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 18-07 | DNF | | Stage 2Verrès - Borgofranco d'Ivrea (127.0km) | 127.0km |
| 17-07 | 106 | 106 | Stage 1Saint-Gervais Mont-Blanc - Passy (40.0km) | 40.0km |
| 23-06 | 36 | | National Road Championships - Italy U23 (CN) | 166.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 7 | | Klassement |
| 26 | | Punten |
| 3 | | Berg |
| 16-06 | 35 | 7 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 13 | 7 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 8 | 7 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 62 | 7 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 55 | 7 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 5 | 7 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 7 | 33 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 63 | 63 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| 14-04 | 1 | | 64° GP Industria & Commercio (1.2U) | |
| | | Giro d'Abruzzo (2.1) |
| 15 | | Klassement |
| 20 | | Punten |
| 12-04 | 8 | 15 | Stage 4Montorio al Vomano - L'Aquila (169.0km) | 169.0km |
| 11-04 | 15 | 17 | Stage 3Pratola Peligna - Prati di Tivo (163.0km) | 163.0km |
| 10-04 | 21 | 25 | Stage 2Alanno - Magliano de' Marsi (161.0km) | 161.0km |
| 09-04 | 57 | 58 | Stage 1Vasto - Pescara (161.0km) | 161.0km |
| 07-04 | 4 | | Trofeo Piva (1.2U) | 123.0km |
| 02-04 | 5 | | G.P. Palio del Recioto - Trofeo C&F Resinatura Blocchi (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 25 | | Klassement |
| 23-03 | 16 | 25 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 23 | 26 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 25 | 27 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 16 | 31 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 72 | 72 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| 28-02 | DNF | | Trofeo Laigueglia (1.Pro) | 202.0km |