| 16-10 | DNF | | Giro del Veneto (1.Pro) | 173.0km |
| 12-10 | DNF | | Il Lombardia (1.UWT) | 252.0km |
| 10-10 | 16 | | Gran Piemonte (1.Pro) | 182.0km |
| 07-10 | 7 | | Coppa Bernocchi (1.Pro) | 174.0km |
| 06-10 | DNF | | Coppa Agostoni (1.1) | 166.0km |
| 24-09 | 3 | | Ruota d'Oro - GP Festa del Perdono (1.2U) | 168.0km |
| 15-09 | 29 | | Trofeo Matteotti (1.1) | 194.0km |
| 14-09 | 47 | | Memorial Marco Pantani (1.1) | 195.0km |
| 12-09 | DNF | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 11-09 | DNF | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 182.0km |
| 08-09 | 14 | | GP Industria & Artigianato (1.Pro) | 168.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 53 | | Klassement |
| 34 | | Berg |
| 24-08 | 72 | 53 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 43 | 50 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 54 | 55 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 65 | 59 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 18 | 35 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 40 | 49 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 51 | 51 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| | | Tour Alsace (2.2) |
| 34 | | Klassement |
| 20 | | Jongeren |
| 28-07 | 83 | 34 | Stage 5Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 27-07 | 31 | 35 | Stage 4L'Isle-sur-le-Doubs - Valentigney (176.0km) | 176.0km |
| 26-07 | 46 | 38 | Stage 3Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 25-07 | 33 | 29 | Stage 2Riedisheim - Ferrette (154.0km) | 154.0km |
| 24-07 | | 46 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 23-06 | DNF | | National Road Championships - Italy (CN) | 230.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 9 | | Klassement |
| 38 | | Punten |
| 9 | | Berg |
| 16-06 | 36 | 9 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 10 | 9 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 9 | 9 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 68 | 13 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 30 | 13 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 18 | 13 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 28 | 21 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 38 | 38 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| 02-06 | 17 | | Coppa della Pace - Trofeo F.lli Anelli (1.2U) | 172.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 46 | | Klassement |
| 19-05 | 73 | 46 | Stage 5Lesko - Arlamów (143.0km) | 143.0km |
| 18-05 | 54 | 13 | Stage 4Bukovina Resort - Jaslo (175.0km) | 175.0km |
| 17-05 | 8 | 13 | Stage 3Tvrdosin - Štrbské Pleso (121.0km) | 121.0km |
| 16-05 | 13 | 13 | Stage 2Prerov - Kohútka (110.0km) | 110.0km |
| 15-05 | 15 | 15 | Stage 1Prostejov - Bouzov (135.0km) | 135.0km |
| 25-04 | 16 | | Gran Premio della Liberazione (1.2U) | 138.0km |
| 21-04 | 40 | | Giro della Romagna (1.1) | 196.0km |
| | | Tour of the Alps (2.Pro) |
| 17-04 | DNF | | Stage 3Schwaz - Schwaz (127.0km) | 127.0km |
| 16-04 | 49 | 45 | Stage 2Salorno - Stans (189.0km) | 189.0km |
| 15-04 | 47 | 47 | Stage 1Neumarkt - Kurtinig an der Weinstraße (133.0km) | 133.0km |
| 07-04 | 2 | | Trofeo Piva (1.2U) | 123.0km |
| 02-04 | 1 | | G.P. Palio del Recioto - Trofeo C&F Resinatura Blocchi (1.2U) | |
| 01-04 | 4 | | Giro del Belvedere (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 39 | | Klassement |
| 16 | | Punten |
| 23-03 | 6 | 39 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 51 | 47 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 70 | 53 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 36 | 34 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 18 | 18 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| | | Istarsko Proljece - Istrian Spring Trophy (2.2) |
| 09-03 | DNF | | Stage 2Novigrad - Motovun (139.0km) | 139.0km |
| 08-03 | 43 | 28 | Stage 1Porec - Funtana (144.0km) | 144.0km |
| 07-03 | 43 | 43 | PrologueVrsar - Vrsar (1.0km) | 1.0km |
| 28-02 | 26 | | Trofeo Laigueglia (1.Pro) | 202.0km |
| | | Tour of Antalya (2.1) |
| 2 | | Klassement |
| 1 | | Berg |
| 11-02 | 16 | 2 | Stage 4Antalya - Antalya (185.0km) | 185.0km |
| 10-02 | 2 | 2 | Stage 3Kemer - Tahtali (136.0km) | 136.0km |
| 09-02 | 45 | 31 | Stage 2Demre - Antalya (141.0km) | 141.0km |
| 08-02 | 67 | 68 | Stage 1Side - Antalya (150.0km) | 150.0km |