| 30-09 | DNF | | Ruota d'Oro - GP Festa del Perdono (1.2U) | 173.0km |
| | | Okolo Slovenska / Tour de Slovaquie (2.1) |
| 84 | | Klassement |
| 15 | | Berg |
| 34 | | Jongeren |
| 21-09 | 95 | 84 | Stage 5Nová Dubnica - Kohútka (124.0km) | 124.0km |
| 20-09 | 116 | 85 | Stage 4Vráble - Sládkovičovo (169.0km) | 169.0km |
| 19-09 | 87 | 72 | Stage 3Kežmarok - Banská Bystrica (191.0km) | 191.0km |
| 18-09 | 69 | 76 | Stage 2Svidník - Košice (170.0km) | 170.0km |
| 17-09 | 124 | 124 | Stage 1Bardejov - Bardejov (140.0km) | 140.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 13 | | Klassement |
| 07-09 | 15 | 13 | Stage 4Cervignano del Friuli - San Daniele del Friuli (151.0km) | 151.0km |
| 06-09 | | 46 | Stage 3Ampezzo - Ravascletto (155.0km) | 155.0km |
| 05-09 | 128 | 47 | Stage 2Porpetto - Teor (167.0km) | 167.0km |
| 04-09 | 12 | 12 | Stage 1Palazzolo dello Stella - Buttrio (156.0km) | 156.0km |
| 31-08 | 33 | | IXINA Classic - Grote Prijs van de Stad Halle (1.2) | 177.0km |
| 27-08 | DNF | | Muur Classic Geraardsbergen (1.1) | 177.0km |
| | | West Bohemia Tour (2.2U) |
| 1 | | Klassement |
| 6 | | Punten |
| 2 | | Berg |
| 24-08 | 20 | 1 | Stage 3Plzeň - Plzeň (151.0km) | 151.0km |
| 23-08 | 24 | 1 | Stage 2Klatovy - Klatovy (157.0km) | 157.0km |
| 22-08 | 5 | 1 | Stage 1Rokycany - Rokycany (150.0km) | 150.0km |
| 21-08 | 8 | 8 | PrologueStarý Plzenec - Radyně (3.0km) | 3.0km |
| 15-08 | 55 | | Circuit Franco-Belge (1.Pro) | 206.0km |
| | | Tour Alsace (2.2) |
| 51 | | Klassement |
| 21 | | Berg |
| 35 | | Jongeren |
| 03-08 | 55 | 51 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 74 | 66 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 71 | 70 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 53 | 9 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 3 | 6 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | DNF | | National Road Championships - Italy U23 (CN) | |
| 26-06 | 5 | | National Road Championships - Italy TT U23 (CN) | |
| | | Giro d'Italia Next Gen (2.2U) |
| 50 | | Klassement |
| 52 | | Punten |
| 22-06 | 115 | 50 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 34 | 44 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 49 | 60 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 15 | 63 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 126 | 103 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 103 | 84 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 101 | 40 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 47 | 47 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 76 | | Klassement |
| 01-06 | 66 | 76 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 81 | 81 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 29 | 72 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 29-05 | 86 | 86 | Stage 1Krnov - Šternberk (168.0km) | 168.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 4 | | Klassement |
| 17 | | Punten |
| 01-05 | 17 | 4 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 22 | 4 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 45 | 5 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 5 | 6 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 78 | 66 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 65 | 63 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 82 | 82 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 19-04 | DNF | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 16-04 | DNS | | Ronde van Limburg (1.1) | 176.0km |
| | | Circuit des Ardennes (2.2) |
| 11 | | Klassement |
| 23 | | Punten |
| 18 | | Berg |
| 13-04 | 16 | 11 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 12-04 | 22 | 12 | Stage 4Lac de Bairon - Lac des Vieilles Forges (178.0km) | 178.0km |
| 11-04 | 20 | 14 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 10-04 | 8 | 37 | Stage 2Rethel - Rethel (172.0km) | 172.0km |
| 09-04 | 76 | 79 | Stage 1Sedan - Nouvion-sur-Meuse (133.0km) | 133.0km |
| 05-04 | 47 | | Volta NXT Classic (1.1) | 192.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 66 | | Klassement |
| 26 | | Jongeren |
| 29-03 | 27 | 66 | Stage 5Brisighella - Forlì (132.0km) | 132.0km |
| 28-03 | 37 | 92 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 27-03 | 122 | 116 | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 111 | 114 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 127 | 127 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 21-03 | 60 | | Bredene Koksijde Classic (1.Pro) | 200.0km |
| 20-03 | 99 | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 197.0km |
| | | O Gran Camiño - The Historical Route (2.1) |
| 75 | | Klassement |
| 44 | | Punten |
| 18 | | Jongeren |
| 02-03 | 100 | 75 | Stage 5Betanzos - Santiago de Compostela (165.0km) | 165.0km |
| 01-03 | 67 | 57 | Stage 4A Pobra do Brollón - O Cebreiro (142.0km) | 142.0km |
| 28-02 | 14 | 45 | Stage 3Ourense - Pereiro de Aguiar (15.0km) | 15.0km |
| 27-02 | 68 | 68 | Stage 2Marín - Lalín/a Estrada (144.0km) | 144.0km |
| 26-02 | 57 | 61 | Stage 1Maia - Matosinhos (190.0km) | 190.0km |