| 23-09 | 8 | | UCI World Championship København U23 (CM) | 168.0km |
| | | Tour of Bulgaria (2.2) |
| 17-09 | DNS | | Stage 8Tryavna - Pirdop (170.0km) | 170.0km |
| 16-09 | 1 | 9 | Stage 7Kazanlak - Tryavna (122.0km) | 122.0km |
| 15-09 | 4 | 13 | Stage 6Karnobat - Kazanlak (146.0km) | 146.0km |
| 14-09 | 5 | 13 | Stage 5Dobrich - Slantchev Briag (183.0km) | 183.0km |
| 13-09 | 89 | 67 | Stage 4Shumen - Dobrich (135.0km) | 135.0km |
| 12-09 | 9 | 10 | Stage 2Troyan - Veliko Tarnovo (100.0km) | 100.0km |
| 12-09 | 5 | 11 | Stage 3Veliko Tarnovo - Shumen (142.0km) | 142.0km |
| 11-09 | 12 | 12 | Stage 1Sofia - Troyan (180.0km) | 180.0km |
| | | Giro di Padania (2.1) |
| 09-09 | DNF | | Stage 4Noceto - San Valentino di Brentonico (175.0km) | 175.0km |
| 08-09 | 91 | 144 | Stage 3Lonate Pozzolo - Salsomaggiore Terme (198.0km) | 198.0km |
| 07-09 | 182 | 163 | Stage 2Loano - Vigevano (187.0km) | 187.0km |
| 06-09 | 145 | 166 | Stage 1Paesana - Laigueglia (170.0km) | 170.0km |
| | | Settimana Ciclistica Lombarda by Bergamasca (2.1) |
| 31-08 | OTL | | Stage 1Nembro - Presolana (176.0km) | 176.0km |
| 21-08 | 31 | | Classic de l'Indre (1.1) | 198.0km |
| | | Tour Alsace (2.2) |
| 84 | | Klassement |
| 31-07 | 85 | 84 | Stage 5Ribeauville - Ballon d'Alsace | |
| 30-07 | 1 | 62 | Stage 4Illzach - Mulhouse | |
| 29-07 | 3 | 67 | Stage 3Colmar - Carspach | |
| 28-07 | 70 | 66 | Stage 2Strasbourg - Bischoffsheim | |
| 27-07 | 16 | 4 | Stage 1Basel - Huningue | |
| 24-07 | 2 | | Central European Tour Budapest GP (1.2) | |
| 23-07 | 11 | | Central European Tour Miskolc GP (1.2) | |
| 15-07 | 29 | | GP Nobili Rubinetterie - Coppa Citta di Stresa (1.1) | 166.0km |
| | | Vuelta a la Comunidad de Madrid Sub 23 (2.2U) |
| 73 | | Klassement |
| 10-07 | 75 | 73 | Stage 4Rozas de Puerto Real - San Martín de Valdeiglesias (140.0km) | 140.0km |
| 09-07 | 22 | 59 | Stage 3Colmenar del Arroyo - Fresnedillas de la Oliva (129.0km) | 129.0km |
| 08-07 | 61 | 58 | Stage 2Aldea del Fresno - Santa María de la Alameda (161.0km) | 161.0km |
| 07-07 | 3 | 3 | Stage 1Robledo de Chavela - Villa del Prado (137.0km) | 137.0km |
| 02-07 | 7 | | GP Kranj (1.1) | 177.0km |
| | | Baby Giro (2.2) |
| 89 | | Klassement |
| 19-06 | 10 | 89 | Stage 9Asiago - Asiago (123.0km) | 123.0km |
| 18-06 | 91 | 91 | Stage 8Bassano del Grappa - Gallio (186.0km) | 186.0km |
| 17-06 | 133 | 89 | Stage 7Lonato del Garda - Marostica (163.0km) | 163.0km |
| 15-06 | 66 | 82 | Stage 6Giulianova - Alba Adriatica (12.0km) | 12.0km |
| 14-06 | 108 | 81 | Stage 5Sora - Campo Imperatore (164.0km) | 164.0km |
| 13-06 | 83 | 76 | Stage 4Benevento - Montecassino (166.0km) | 166.0km |
| 12-06 | 93 | 38 | Stage 3San Severo - Benevento (154.0km) | 154.0km |
| 11-06 | 15 | 37 | Stage 2Pescara - Rodi Garganico (175.0km) | 175.0km |
| 10-06 | 22 | 22 | Stage 1Civitella del Tronto - Martinsicuro (144.0km) | 144.0km |
| | | Five rings of Moscow (2.2) |
| 85 | | Klassement |
| 09-05 | 4 | 85 | Stage 4Moscow - Moscow (129.0km) | 129.0km |
| 08-05 | 94 | 84 | Stage 3Moscow - Moscow (163.0km) | 163.0km |
| 07-05 | 10 | 16 | Stage 2Moscow - Moscow (120.0km) | 120.0km |
| 06-05 | 7 | 16 | Stage 1Moscow - Moscow (148.0km) | 148.0km |
| 05-05 | 14 | 14 | PrologueMoscow - Moscow (4.0km) | 4.0km |
| 02-05 | 2 | | Grand Prix of Moscow (1.2) | |
| 30-04 | 10 | | Mayor Cup (1.2) | |
| 25-04 | 33 | | Giro del Belvedere (1.2U) | 154.0km |
| | | Toscana - Coppa delle Nazioni (2.NCUP) |
| 21-04 | DNF | | Stage 3Lucca - Montecatini Val di Cecina (144.0km) | 144.0km |
| 20-04 | 9 | 4 | Stage 2Follonica - Casciana Alta (164.0km) | 164.0km |
| 19-04 | 4 | 4 | Stage 1Grosseto - Grosseto (148.0km) | 148.0km |
| 16-04 | 7 | | ZLM tour (1.NCUP) | 179.0km |
| 13-04 | 2 | | La Côte Picarde (1.NCUP) | |
| 09-04 | 49 | | Ronde van Vlaanderen Beloften (1.NCUP) | 172.0km |
| 03-04 | 1 | | Grand Prix de la Ville de Nogent-sur-Oise (1.2) | |
| | | Troféu Cidade da Guarda-GP Portugal (2.2) |
| 37 | | Klassement |
| 27-03 | 17 | 37 | Stage 3Sines - Grandola (157.0km) | 157.0km |
| 26-03 | 1 | 37 | Stage 2Santiago do Cacém - Ourique (154.0km) | 154.0km |
| 25-03 | 2 | 40 | Stage 1Quinta do Conde - Setubal (152.0km) | 152.0km |
| | | Istarsko proljece - Istrian Spring Trophy (2.2) |
| 74 | | Klassement |
| 20-03 | 3 | 74 | Stage 3Pazin - Porec (141.0km) | 141.0km |
| 19-03 | 55 | 92 | Stage 2Vrsar - Motovun (157.0km) | 157.0km |
| 18-03 | 137 | 131 | Stage 1Porec - Labin (137.0km) | 137.0km |
| 17-03 | 99 | 99 | PrologueTinjan - Sveti Petar u Sumi (5.0km) | 5.0km |
| 26-02 | 87 | | GP dell'Insubria-Lugano (1.1) | 168.0km |