| 07-10 | 21 | | Coppa Bernocchi (1.Pro) | 174.0km |
| 05-10 | DNF | | Giro dell'Emilia (1.Pro) | 215.0km |
| 01-10 | 2 | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 27-09 | 18 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 23-09 | 24 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 7 | | Klassement |
| 13 | | Punten |
| 13 | | Berg |
| 4 | | Jongeren |
| 07-09 | 29 | 7 | Stage 4Sacile - Gorizia (160.0km) | 160.0km |
| 06-09 | 6 | 7 | Stage 3Codroipo - San Daniele del Friuli (147.0km) | 147.0km |
| 05-09 | 8 | 8 | Stage 2Ampezzo - Sauris (141.0km) | 141.0km |
| 04-09 | 73 | 73 | Stage 1Palazzolo dello Stella - San Giorgio di Nogaro (177.0km) | 177.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 24 | | Klassement |
| 9 | | Berg |
| 24-08 | 28 | 24 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 77 | 30 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 25 | 21 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 22 | 21 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 30 | 34 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 58 | 48 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 50 | 50 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| 15-08 | 49 | | Tour of Leuven - Memorial Jef Scherens (1.1) | 191.0km |
| 23-06 | 22 | | National Road Championships - Netherlands U23 (CN) | 136.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 12-06 | DNS | | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 60 | 58 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 48 | 19 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 32 | 32 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Tour of Norway (2.Pro) |
| 64 | | Klassement |
| 17 | | Jongeren |
| 26-05 | 64 | 64 | Stage 4Stavanger - Stavanger (125.0km) | 125.0km |
| 25-05 | 52 | 70 | Stage 3Sola - Egersund (168.0km) | 168.0km |
| 24-05 | 65 | 71 | Stage 2Odda - Gullingen (208.0km) | 208.0km |
| 23-05 | 70 | 70 | Stage 1Voss - Voss (145.0km) | 145.0km |
| 12-05 | 8 | | Flèche Ardennaise (1.2) | 174.0km |
| | | Ronde de l'Isard (2.2U) |
| 3 | | Klassement |
| 4 | | Punten |
| 17 | | Berg |
| 2 | | Jongeren |
| 05-05 | 10 | 3 | Stage 5Pamiers - Saint-Girons (134.0km) | 134.0km |
| 04-05 | 7 | 5 | Stage 4Lavelanet - Plateau de Beille (122.0km) | 122.0km |
| 03-05 | 6 | 8 | Stage 3Bagnères-de-Luchon - Saverdun (153.0km) | 153.0km |
| 02-05 | 8 | 8 | Stage 2Bagnères-de-Bigorre - Bagnères-de-Luchon (125.0km) | 125.0km |
| 01-05 | 22 | 23 | Stage 1L'Isle-en-Dodon - Trie-sur-Baïse (146.0km) | 146.0km |
| 07-04 | 11 | | Paris-Roubaix Espoirs (1.2U) | 164.0km |
| 02-04 | 15 | | G.P. Palio del Recioto - Trofeo C&F Resinatura Blocchi (1.2U) | |
| 01-04 | 15 | | Giro del Belvedere (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 61 | | Klassement |
| 23-03 | 46 | 61 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 124 | 70 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 26 | 56 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 67 | 65 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 23 | 23 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| 02-03 | 35 | | Grand Prix Criquielion (1.1) | 200.0km |
| | | O Gran Camiño - The Historical Route (2.1) |
| 86 | | Klassement |
| 25-02 | 66 | 86 | Stage 4Ponteareas - Tui (162.0km) | 162.0km |
| 24-02 | 102 | 107 | Stage 3Xinzo de Limia - Ribadavia (173.0km) | 173.0km |
| 23-02 | 105 | 105 | Stage 2Taboada - Chantada (151.0km) | 151.0km |
| 22-02 | 65 | | Stage 1La Coruna - La Coruna (14.0km) | 14.0km |