| 01-10 | 10 | | 89°Piccolo Giro di Lombardia
(1.2U) | |
| 22-09 | 72 | | UCI World Championship Bergen U23 (CM) | 191.0km |
| | | PostNord Danmark Rundt (2.HC) |
| 15-09 | 43 | 25 | Stage 4Randers - Randers (20.0km) | 20.0km |
| 14-09 | 30 | 28 | Stage 3Otterup - Vejle (180.0km) | 180.0km |
| 12-09 | 15 | 15 | Stage 1Frederiksberg - Kalundborg (175.0km) | 175.0km |
| 12-09 | 36 | 26 | Stage 5 | |
| | | Tour de l'Avenir (2.NCUP) |
| 18-08 | DNF | | Stage 1Loudéac - Loudéac (134.0km) | 134.0km |
| 06-08 | 16 | | Antwerpse Havenpijl (1.2) | |
| | | Tour Alsace (2.2) |
| 49 | | Klassement |
| 30-07 | 27 | 49 | Stage 5Neuf-Brisach - Dannemarie (155.0km) | 155.0km |
| 29-07 | 54 | 51 | Stage 4Ribeauville - Lac Blanc (165.0km) | 165.0km |
| 28-07 | 33 | 51 | Stage 3Belfort - Blotzheim (144.0km) | 144.0km |
| 27-07 | 53 | 55 | Stage 2Velleminfroy - La Planche des Belles Filles (136.0km) | 136.0km |
| 26-07 | 78 | 78 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 23-07 | 38 | | Grand Prix de la ville de Pérenchies
(1.2) | |
| | | Baby Giro (2.2) |
| 12 | | Klassement |
| 15-06 | 21 | 12 | Stage 7Francavilla al Mare - Campo Imperatore (148.0km) | 148.0km |
| 14-06 | 22 | 9 | Stage 6Francavilla al Mare - Casalincontrada (133.0km) | 133.0km |
| 13-06 | 15 | 11 | Stage 5aSenigallia - Osimo (87.0km) | 87.0km |
| 13-06 | 22 | 11 | Stage 5bCampocavallo - Campocavallo (14.0km) | 14.0km |
| 12-06 | 17 | 14 | Stage 4Forlì - Gabicce Mare (155.0km) | 155.0km |
| 11-06 | 21 | 20 | Stage 3Bagnara di Romagna - Forlì (140.0km) | 140.0km |
| 10-06 | 9 | 6 | Stage 2Castellarano - Castellarano (145.0km) | 145.0km |
| 09-06 | 23 | 23 | Stage 1Imola (Autodromo Enzo e Dino Ferrari) - Imola (Autodromo Enzo e Dino Ferrari) (132.0km) | 132.0km |
| | | Grand Prix Priessnitz spa (2.NCUP) |
| 32 | | Klassement |
| 29 | | Punten |
| 04-06 | 16 | 32 | Stage 4Jeseník - Jeseník (160.0km) | 160.0km |
| 03-06 | 35 | 36 | Stage 3Krnov - Dlouhé (151.0km) | 151.0km |
| 02-06 | 14 | 21 | Stage 2Jeseník - Rýmařov (133.0km) | 133.0km |
| 01-06 | 22 | 22 | Stage 1Krnov - Krnov (2.0km) | 2.0km |
| | | Tour du Jura Cycliste (2.2) |
| 17 | | Klassement |
| 28-05 | 15 | 17 | Stage 2Dôle - Les Rousses (193.0km) | 193.0km |
| 27-05 | 20 | 20 | Stage 1Arbois - Dôle (165.0km) | 165.0km |
| 07-05 | 14 | | Flèche Ardennaise (1.2) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 11 | | Klassement |
| 01-05 | 5 | 11 | Stage 7Maen Roch - Fougères (145.0km) | 145.0km |
| 30-04 | 17 | 17 | Stage 6Montauban-de-Bretagne - Noyal-Pontivy (161.0km) | 161.0km |
| 29-04 | 65 | 23 | Stage 5Saint-Gildas-des-Bois - Saint-Pern (142.0km) | 142.0km |
| 28-04 | 22 | 18 | Stage 4Scaer - Saint-Gildas-des-Bois (198.0km) | 198.0km |
| 27-04 | 13 | 17 | Stage 3Saint-Pol de Léon - Scaer (166.0km) | 166.0km |
| 26-04 | 13 | 17 | Stage 2Saint-Launeuc - Saint-Pol de Léon (202.0km) | 202.0km |
| 25-04 | 21 | 24 | Stage 1Rennes - Merdrignac (153.0km) | 153.0km |
| 15-04 | 8 | | Liège - Bastogne - Liège U23 (1.2U) | |
| 08-04 | 8 | | Ronde van Vlaanderen U23 (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux
(2.2) |
| 02-04 | 57 | | Stage 3aChièvres - Chièvres (10.0km) | 10.0km |
| 02-04 | 35 | 38 | Stage 3bAth - Chièvres (97.0km) | 97.0km |
| 01-04 | 24 | 22 | Stage 2Frasnes-lez-Buissenal - Péronnes-lez-Antoing (148.0km) | 148.0km |
| 31-03 | 12 | 16 | Stage 1Flobecq - Warcoing (166.0km) | 166.0km |
| 26-03 | 13 | | Gent-Wevelgem/Kattekoers-Ieper (1.NCUP) | |
| 12-03 | 32 | | Rabobank Dorpenomloop Rucphen (1.2) | |