| 06-10 | 7 | | 91° Il Piccolo Lombardia (1.2U) | |
| 27-09 | 10 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| | | Okolo Slovenska / Tour de Slovaquie (2.1) |
| 11 | | Klassement |
| 21 | | Berg |
| 21-09 | 26 | 11 | Stage 5Hlohovec - Senica (142.0km) | 142.0km |
| 20-09 | 15 | 10 | Stage 4Ruzomberok - Hlohovec (200.0km) | 200.0km |
| 19-09 | 31 | 14 | Stage 3Bardejov - Ruzomberok (226.0km) | 226.0km |
| 18-09 | 62 | 64 | Stage 1Bardejov - Bardejov (138.0km) | 138.0km |
| 18-09 | 15 | 15 | Stage 2Bardejov - Bardejov (7.0km) | 7.0km |
| 07-09 | 22 | | Lillehammer GP (1.2) | |
| 06-09 | 13 | | Hafjell TT (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 23 | | Klassement |
| 42 | | Punten |
| 25-08 | 14 | 23 | Stage 10Saint-Colomban-des-Villards - Le Corbier (78.0km) | 78.0km |
| 24-08 | 23 | 27 | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 69 | 32 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 48 | 25 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 41 | 31 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 31 | 4 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 40 | 4 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 16 | 2 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 6 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 9 | 9 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| 30-06 | 24 | | National Road Championships - Norway (CN) | 204.0km |
| 27-06 | 4 | | National Road Championships - Norway TT (CN) | 50.0km |
| | | Course de la Paix Grand Prix Priessnitz spa (2.NCUP) |
| 16 | | Klassement |
| 5 | | Berg |
| 09-06 | 18 | 16 | Stage 3Jeseník - Jeseník (171.0km) | 171.0km |
| 08-06 | 18 | 18 | Stage 2Krnov - Dlouhé (150.0km) | 150.0km |
| 07-06 | 47 | 29 | Stage 1Jeseník - Rýmařov (134.0km) | 134.0km |
| 06-06 | 30 | 30 | PrologueKrnov - Krnov (2.0km) | 2.0km |
| 02-06 | 12 | | Paris-Roubaix Espoirs (1.2U) | |
| | | Ronde de l'Isard (2.2U) |
| 23 | | Klassement |
| 4 | | Punten |
| 23 | | Berg |
| 26-05 | 23 | 23 | Stage 4Belesta - Saint-Girons (134.0km) | 134.0km |
| 25-05 | 38 | 24 | Stage 3Mirepoix - Quérigut (156.0km) | 156.0km |
| 24-05 | 12 | 11 | Stage 2Salies-du-Salat - Castillon-en-Couserans (136.0km) | 136.0km |
| 23-05 | 37 | 40 | Stage 1Toulouse - Le Mas-d'Azil (144.0km) | 144.0km |
| 11-05 | 12 | | Sundvolden GP (1.2) | |
| 05-05 | DNF | | Entre Brenne et Montmorillonnais (1.2) | |
| 04-05 | 31 | | L'Etoile d'Or (1.NCUP) | |
| 01-05 | 44 | | Eschborn-Frankfurt U23 (1.2U) | 147.0km |
| 20-04 | 51 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| 13-04 | DNF | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 91 | | Klassement |
| 07-04 | 95 | 91 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 21 | 26 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 84 | 26 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 109 | 109 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 31-03 | DNF | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| | | Volta ao Alentejo (2.2) |
| 39 | | Klassement |
| 24-03 | 89 | 39 | Stage 6Portalegre - Évora (152.0km) | 152.0km |
| 23-03 | 66 | 39 | Stage 4Ponte de Sor - Portalegre (74.0km) | 74.0km |
| 23-03 | 32 | 38 | Stage 5Castelo de Vide - Castelo de Vide (8.0km) | 8.0km |
| 22-03 | 31 | 26 | Stage 3Santiago do Cacém - Mora (176.0km) | 176.0km |
| 21-03 | 32 | 27 | Stage 2Mértola - Odemira (182.0km) | 182.0km |
| 20-03 | 76 | 32 | Stage 1Montemor-o-Novo - Moura (208.0km) | 208.0km |