| 26-09 | DNF | | UCI World Championship Kigali U23 (CM) | 164.0km |
| 20-09 | DNF | | Milano-Rapallo (1.2) | 179.0km |
| 14-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 11-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 102 | | Klassement |
| 07-09 | 95 | 102 | Stage 4Cervignano del Friuli - San Daniele del Friuli (151.0km) | 151.0km |
| 06-09 | | 110 | Stage 3Ampezzo - Ravascletto (155.0km) | 155.0km |
| 05-09 | 18 | 117 | Stage 2Porpetto - Teor (167.0km) | 167.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 103 | 103 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 90 | 100 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 118 | 106 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 2 | 87 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 129 | 95 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 25 | 74 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 3 | 70 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 136 | 136 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour of Magnificent Qinghai (2.Pro) |
| 100 | | Klassement |
| 27 | | Punten |
| 13-07 | 8 | 100 | Stage 8Xihaizhen - Xihaizhen (121.0km) | 121.0km |
| 12-07 | 96 | 105 | Stage 7Gonghe - Haiyan (137.0km) | 137.0km |
| 11-07 | 92 | 110 | Stage 6Gangcha - Gonghe (232.0km) | 232.0km |
| 10-07 | 119 | 113 | Stage 5Qilian - Gangcha (168.0km) | 168.0km |
| 09-07 | 17 | 109 | Stage 4Menyuan - Qilian (172.0km) | 172.0km |
| 08-07 | 19 | 114 | Stage 3Huzhu - Menyuan (219.0km) | 219.0km |
| 07-07 | 132 | 119 | Stage 2Duoba - Huzhu (151.0km) | 151.0km |
| 06-07 | 9 | 13 | Stage 1Xining - Xining (120.0km) | 120.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 105 | | Klassement |
| 56 | | Punten |
| 22-06 | 70 | 105 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 90 | 110 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 82 | 108 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 92 | 110 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 17 | 107 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 119 | 112 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 76 | 106 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 145 | 145 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Tour of Malopolska (2.2) |
| 45 | | Klassement |
| 2 | | Punten |
| 22 | | Jongeren |
| 08-06 | 8 | 45 | Stage 3Maków Pochalański - Stary Sacz (170.0km) | 170.0km |
| 07-06 | 8 | 47 | Stage 2Wadowice - Nowy Targ (135.0km) | 135.0km |
| 06-06 | 46 | 47 | Stage 1Wieliczka - Myslenice (134.0km) | 134.0km |
| 05-06 | 25 | 25 | PrologueKraków - Kraków (1.0km) | 1.0km |
| 02-06 | 7 | | TrofeoAlcide Degasperi (1.2) | |
| 01-06 | 6 | | Coppa Della Pace - Trofeo Fratelli Anelli (1.2U) | 173.0km |
| 27-04 | 22 | | Giro della Provincia di Biella - Torino-Biella (1.2) | 144.0km |
| 25-04 | DNF | | Gran Premio della Liberazione (1.2U) | 138.0km |
| 21-04 | 7 | | Giro del Belvedere (1.2U) | 168.0km |
| | | Il Giro d'Abruzzo (2.1) |
| 74 | | Klassement |
| 19 | | Punten |
| 50 | | Jongeren |
| 18-04 | 6 | 74 | Stage 4Corropoli - Isola del Gran Sasso (166.0km) | 166.0km |
| 17-04 | 68 | 83 | Stage 3San Demetrio ne' Vestini - Roccaraso (160.0km) | 160.0km |
| 16-04 | 91 | 94 | Stage 2Tocco da Casauria - Penne (138.0km) | 138.0km |
| 15-04 | 103 | 103 | Stage 1Scerni - Crecchio (151.0km) | 151.0km |
| 13-04 | 17 | | Tr. Città di S.Vendemiano - GP Industria & Commercio (1.2U) | 171.0km |
| 06-04 | 3 | | Trofeo Piva (1.2U) | |
| | | O Gran Camiño - The Historical Route (2.1) |
| 91 | | Klassement |
| 9 | | Punten |
| 21 | | Jongeren |
| 02-03 | 4 | 91 | Stage 5Betanzos - Santiago de Compostela (165.0km) | 165.0km |
| 01-03 | 92 | 112 | Stage 4A Pobra do Brollón - O Cebreiro (142.0km) | 142.0km |
| 28-02 | 115 | 112 | Stage 3Ourense - Pereiro de Aguiar (15.0km) | 15.0km |
| 27-02 | 112 | 106 | Stage 2Marín - Lalín/a Estrada (144.0km) | 144.0km |
| 26-02 | 7 | 9 | Stage 1Maia - Matosinhos (190.0km) | 190.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.Pro) |
| 59 | | Klassement |
| 19 | | Punten |
| 4 | | Jongeren |
| 23-02 | 12 | 59 | Stage 5Benahavís - La Línea (168.0km) | 168.0km |
| 22-02 | 14 | 79 | Stage 4Córdoba - Alhaurín de la Torre (194.0km) | 194.0km |
| 21-02 | 6 | 88 | Stage 3Arjona - Pozoblanco (162.0km) | 162.0km |
| 20-02 | 86 | 96 | Stage 2Alcaudete - Torredelcampo (133.0km) | 133.0km |
| 19-02 | 106 | 106 | Stage 1Torrox - Cueva de Nerja (162.0km) | 162.0km |
| | | Volta a la Comunitat Valenciana (2.Pro) |
| 103 | | Klassement |
| 27 | | Punten |
| 41 | | Jongeren |
| 09-02 | 9 | 103 | Stage 5Alfafar - Valencia (103.0km) | 103.0km |
| 08-02 | 98 | 105 | Stage 4Oropesa del Mar - Portell de Morella (181.0km) | 181.0km |
| 07-02 | 92 | 99 | Stage 3Algemesi - Alpuente (180.0km) | 180.0km |
| 06-02 | 100 | 92 | Stage 2La Nucia - Benifato (166.0km) | 166.0km |
| 05-02 | 15 | 77 | Stage 1Orihuela - Orihuela (34.0km) | 34.0km |
| 02-02 | 8 | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | DNF | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 30-01 | 19 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |
| 29-01 | 54 | | Trofeo Calvià (1.1) | 149.0km |
| 24-01 | 22 | | Classica Camp de Morvedre (1.2) | 178.0km |