| 07-10 | 44 | | Coppa Bernocchi (1.Pro) | 174.0km |
| 05-10 | 52 | | Giro dell'Emilia (1.Pro) | 215.0km |
| | | Skoda Tour de Luxembourg (2.Pro) |
| 23 | | Klassement |
| 12 | | Jongeren |
| 22-09 | 34 | 23 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 21-09 | 41 | 25 | Stage 4Differdange - Differdange (15.0km) | 15.0km |
| 20-09 | 27 | 30 | Stage 3Rosport - Diekirch (201.0km) | 201.0km |
| 19-09 | 61 | 40 | Stage 2Junglinster - Schifflange (155.0km) | 155.0km |
| 18-09 | 43 | 43 | Stage 1Luxembourg - Luxembourg (156.0km) | 156.0km |
| 08-09 | 15 | | Eurode Omloop (Nat) | 156.0km |
| 07-09 | 22 | | GP Rik Van Looy (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 3 | | Klassement |
| 7 | | Punten |
| 1 | | Berg |
| 24-08 | 3 | 3 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 7 | 2 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 4 | 4 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 4 | 5 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 23 | 37 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 26 | 54 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 56 | 56 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| 15-08 | 37 | | Tour of Leuven - Memorial Jef Scherens (1.1) | 191.0km |
| 23-06 | 15 | | National Road Championships - Netherlands U23 (CN) | 136.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 12 | | Klassement |
| 29 | | Punten |
| 16-06 | 32 | 12 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 27 | 11 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 13 | 11 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 52 | 12 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 87 | 12 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 11 | 12 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 23 | 41 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 82 | 82 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Tour of Norway (2.Pro) |
| 19 | | Klassement |
| 5 | | Jongeren |
| 26-05 | 31 | 19 | Stage 4Stavanger - Stavanger (125.0km) | 125.0km |
| 25-05 | 36 | 18 | Stage 3Sola - Egersund (168.0km) | 168.0km |
| 24-05 | 17 | 19 | Stage 2Odda - Gullingen (208.0km) | 208.0km |
| 23-05 | 31 | 31 | Stage 1Voss - Voss (145.0km) | 145.0km |
| 12-05 | 17 | | Flèche Ardennaise (1.2) | 174.0km |
| | | Ronde de l'Isard (2.2U) |
| 04-05 | DNF | | Stage 4Lavelanet - Plateau de Beille (122.0km) | 122.0km |
| 03-05 | 18 | 2 | Stage 3Bagnères-de-Luchon - Saverdun (153.0km) | 153.0km |
| 02-05 | 13 | 4 | Stage 2Bagnères-de-Bigorre - Bagnères-de-Luchon (125.0km) | 125.0km |
| 01-05 | 21 | 5 | Stage 1L'Isle-en-Dodon - Trie-sur-Baïse (146.0km) | 146.0km |
| 13-04 | 6 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Circuit des Ardennes (2.2) |
| 3 | | Klassement |
| 12 | | Punten |
| 5 | | Berg |
| 07-04 | 8 | 3 | Stage 4Sedan - Sedan (163.0km) | 163.0km |
| 06-04 | 5 | 3 | Stage 3Charleville-Mézières - Aiglemont (145.0km) | 145.0km |
| 05-04 | 13 | 11 | Stage 2Auvillers-les-Forges - Hardoncelle (167.0km) | 167.0km |
| 04-04 | 24 | 27 | Stage 1Juniville - Asfeld (165.0km) | 165.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 21 | | Klassement |
| 23-03 | 23 | 21 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 17 | 22 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 31 | 37 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 39 | 38 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 43 | 43 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| | | O Gran Camiño - The Historical Route (2.1) |
| 37 | | Klassement |
| 25-02 | 32 | 37 | Stage 4Ponteareas - Tui (162.0km) | 162.0km |
| 24-02 | 41 | 42 | Stage 3Xinzo de Limia - Ribadavia (173.0km) | 173.0km |
| 23-02 | 44 | 44 | Stage 2Taboada - Chantada (151.0km) | 151.0km |
| 22-02 | 39 | | Stage 1La Coruna - La Coruna (14.0km) | 14.0km |