| | | Tour of Croatia (2.1) |
| 05-10 | DNF | | Stage 5Rabac - Platak (142.0km) | 142.0km |
| 04-10 | 89 | 72 | Stage 4Starigrad - Crikvenica (159.0km) | 159.0km |
| 03-10 | 78 | 70 | Stage 3Okrug - Makarska (165.0km) | 165.0km |
| 02-10 | 56 | 57 | Stage 2Slunj - Zadar (186.0km) | 186.0km |
| 01-10 | 95 | 95 | Stage 1Osijek - Lipik (210.0km) | 210.0km |
| 27-09 | 35 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 24-09 | 26 | | UCI World Championship Yorkshire TT U23 (CM) | 30.0km |
| 08-09 | DNF | | Antwerp Port Epic / Sels Trophy (1.1) | 187.0km |
| 07-09 | 149 | | Brussels Cycling Classic (1.HC) | 189.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 15 | | Klassement |
| 39 | | Punten |
| 17 | | Berg |
| 25-08 | 6 | 15 | Stage 10Saint-Colomban-des-Villards - Le Corbier (78.0km) | 78.0km |
| 24-08 | 15 | 22 | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 24 | 27 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 24 | 33 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 20 | 43 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 14 | 80 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 15 | 114 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 119 | 118 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 63 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 16 | 16 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| 08-08 | 25 | | UEC Road European Championships TT U23 (CC) | |
| 26-07 | 55 | | 45. Gemenc Grand Prix I (1.2) | |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) |
| 35 | | Klassement |
| 21-07 | 22 | 35 | Stage 5Valtournenche - Breuil-Cervinia (120.0km) | 120.0km |
| 20-07 | 45 | 41 | Stage 4Orsières - Champex Lac (128.0km) | 128.0km |
| 19-07 | 42 | 44 | Stage 3Antagnod - Champoluc (179.0km) | 179.0km |
| 18-07 | 52 | 44 | Stage 2Aymavilles - Valsavarenche (137.0km) | 137.0km |
| 17-07 | 12 | 12 | Stage 1Sainte-Foy-Tarentaise - Saint-Gervais Mont-Blanc (126.0km) | 126.0km |
| 16-07 | 19 | 19 | PrologueAosta - Aosta (2.0km) | 2.0km |
| 30-06 | 2 | | National Road Championships - Hungary (CN) | |
| 27-06 | 3 | | National Road Championships - Hungary TT (CN) | |
| | | Baby Giro (2.2U) |
| 71 | | Klassement |
| 38 | | Punten |
| 13 | | Berg |
| 23-06 | 110 | 71 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 22-06 | 2 | 64 | Stage 8Rosà - Falcade (134.0km) | 134.0km |
| 21-06 | 22 | 78 | Stage 7Dimaro Folgarida - Levico Terme (153.0km) | 153.0km |
| 20-06 | 47 | 83 | Stage 6Aprica - Aprica (94.0km) | 94.0km |
| 19-06 | 130 | 96 | Stage 5Sorbolo - Passo Maniva (155.0km) | 155.0km |
| 17-06 | 105 | 84 | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | 57 | 57 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 124 | 43 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 46 | 22 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 23 | 23 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| | | A Travers les Hauts de France (2.2) |
| 94 | | Klassement |
| 26-05 | 91 | 94 | Stage 3Petite-Forêt - Pecquencourt (188.0km) | 188.0km |
| 25-05 | 104 | 102 | Stage 2Seclin - Bonningues-lès-Calais (197.0km) | 197.0km |
| 24-05 | 81 | 102 | Stage 1Gavrelle - Épinoy (125.0km) | 125.0km |
| 20-04 | 48 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Tour de Normandie (2.2) |
| 31-03 | DNF | | Stage 7Saint-Lô - Caen (150.0km) | 150.0km |
| 30-03 | 79 | 99 | Stage 6Gouville-sur-Mer - Martinvast (159.0km) | 159.0km |
| 29-03 | 1 | 120 | Stage 5Alencon - Bagnoles de l'Orne (172.0km) | 172.0km |
| 28-03 | 130 | 121 | Stage 4Tilly-sur-Seulles - Argentan (173.0km) | 173.0km |
| 27-03 | 18 | 87 | Stage 3Bourg-Achard - Elbeuf (147.0km) | 147.0km |
| 26-03 | 139 | 142 | Stage 2Darnétal - Forges-les-Eaux (169.0km) | 169.0km |
| 25-03 | 136 | 136 | Stage 1Courseulles-sur-Mer - Le Neubourg (159.0km) | 159.0km |
| 17-03 | 16 | | Ronde van Drenthe (1.HC) | 217.0km |
| 13-03 | 8 | | Wanzeel Koerse (Nat) | |