| 06-10 | 21 | | 91° Il Piccolo Lombardia (1.2U) | |
| 27-09 | 48 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 15-09 | 82 | | Coppa Bernocchi (1.1) | |
| | | Tour de l'Avenir (2.NCUP) |
| 24-08 | DNF | | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 113 | 62 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 114 | 47 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 23 | 35 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 23 | 56 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 25 | 74 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 82 | 80 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 88 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 110 | 109 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| 11-08 | DNF | | 44° Gran Premio Sportivi di Poggiana-44° Trofeo Bonin Costruzioni (1.2U) | |
| 29-06 | 39 | | National Road Championships - Italy U23 (CN) | |
| 26-06 | 10 | | National Road Championships - Italy TT U23 (CN) | |
| | | Baby Giro (2.2U) |
| 4 | | Standings |
| 18 | | Points |
| 6 | | Mountain |
| 23-06 | 11 | 4 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 22-06 | 15 | 2 | Stage 8Rosà - Falcade (134.0km) | 134.0km |
| 21-06 | 19 | 2 | Stage 7Dimaro Folgarida - Levico Terme (153.0km) | 153.0km |
| 20-06 | 10 | 2 | Stage 6Aprica - Aprica (94.0km) | 94.0km |
| 19-06 | 5 | 2 | Stage 5Sorbolo - Passo Maniva (155.0km) | 155.0km |
| 17-06 | 4 | 2 | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 22 | 9 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 52 | 29 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 76 | 44 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 54 | 54 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| 09-06 | 25 | | Gran Premio Città di Lugano (1.1) | 179.0km |
| 02-06 | 11 | | 65° Trofeo Alcide Degasperi (1.2) | |
| | | Ronde de l'Isard (2.2U) |
| 45 | | Standings |
| 26-05 | 86 | 45 | Stage 4Belesta - Saint-Girons (134.0km) | 134.0km |
| 25-05 | 43 | 25 | Stage 3Mirepoix - Quérigut (156.0km) | 156.0km |
| 24-05 | 4 | 3 | Stage 2Salies-du-Salat - Castillon-en-Couserans (136.0km) | 136.0km |
| 23-05 | 2 | 2 | Stage 1Toulouse - Le Mas-d'Azil (144.0km) | 144.0km |
| 04-05 | 53 | | L'Etoile d'Or (1.NCUP) | |
| 23-04 | DNF | | 58° G.P. Palio del Recioto - Trofeo C&F Resinatura Blocchi (1.2U) | |
| 22-04 | 11 | | Giro del Belvedere (1.2U) | |
| 21-04 | 39 | | 12° Tr. Città di S. Vendemiano - 59° GP Industria & Commercio (1.2U) | |
| 13-04 | 12 | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| 07-04 | 5 | | 71° Trofeo piva (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 79 | | Standings |
| 24 | | Mountain |
| 31-03 | 63 | 79 | Stage 5Fiorano Modenese - Sassuolo (153.0km) | 153.0km |
| 30-03 | 52 | 85 | Stage 4Crevalcore - Crevalcore (171.0km) | 171.0km |
| 29-03 | 61 | 87 | Stage 3Forlì - Forlì (166.0km) | 166.0km |
| 28-03 | 112 | 102 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 27-03 | 15 | 69 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 27-03 | 30 | 33 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |
| 10-03 | 48 | | GP Industria & Artigianato (1.HC) | 199.0km |
| | | Etoile de Bessèges (2.1) |
| 72 | | Standings |
| 10-02 | 95 | 72 | Stage 4Alès - Alès (10.0km) | 10.0km |
| 09-02 | 16 | 38 | Stage 3Bessèges - Bessèges (158.0km) | 158.0km |
| 08-02 | 50 | 62 | Stage 2Saint-Geniés-de-Malgoires - La Clamette (154.0km) | 154.0km |
| 07-02 | 76 | 77 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |