| 07-10 | 3 | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 04-10 | 2 | | Il Lombardia Under 23 (1.2U) | 170.0km |
| 27-09 | 23 | | Grand Prix Cerami (1.2) | 176.0km |
| 14-09 | 22 | | GP Rik Van Looy (1.2) | 185.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 25 | 19 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 15 | 18 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 20 | 12 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 34 | 6 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 55 | 6 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 1 | 6 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 15 | 31 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 41 | 41 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 24 | | Klassement |
| 14 | | Jongeren |
| 03-08 | 33 | 24 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 21 | 20 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 25 | 21 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 130 | 15 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 2 | 15 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | 23 | | National Road Championships - Great Britain (CN) | 190.0km |
| 26-06 | 3 | | National Road Championships - Great Britain TT U23 (CN) | 26.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 6 | | Klassement |
| 15 | | Punten |
| 4 | | Jongeren |
| 01-06 | 70 | 6 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 10 | 6 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 18 | 8 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 29-05 | 10 | 10 | Stage 1Krnov - Šternberk (168.0km) | 168.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 12 | | Klassement |
| 17-05 | 13 | 12 | Stage 4Lesko - Arlamów (146.0km) | 146.0km |
| 16-05 | 5 | 9 | Stage 3Ustrzyki Dolne - Arlamów (138.0km) | 138.0km |
| 15-05 | 23 | 25 | Stage 2Jaroslaw - Arlamów (143.0km) | 143.0km |
| 14-05 | 119 | 115 | Stage 1Lancut - Jaslo (155.0km) | 155.0km |
| 03-05 | 10 | | Flèche Ardennaise (1.2) | 174.0km |
| 01-05 | 10 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 22-04 | 6 | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 21-04 | 21 | | Giro del Belvedere (1.2U) | 168.0km |
| | | Circuit des Ardennes (2.2) |
| 59 | | Klassement |
| 24 | | Jongeren |
| 13-04 | 23 | 59 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 12-04 | 87 | 70 | Stage 4Lac de Bairon - Lac des Vieilles Forges (178.0km) | 178.0km |
| 11-04 | 51 | 50 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 10-04 | 55 | 47 | Stage 2Rethel - Rethel (172.0km) | 172.0km |
| 09-04 | 42 | 46 | Stage 1Sedan - Nouvion-sur-Meuse (133.0km) | 133.0km |
| | | Olympia's Tour (2.2) |
| 29-03 | DNF | | Stage 4Zwolle - Zwolle (195.0km) | 195.0km |
| 28-03 | 110 | 86 | Stage 3Kerkdriel - Rossum (148.0km) | 148.0km |
| 27-03 | 18 | 32 | Stage 2Beek - Beek (175.0km) | 175.0km |
| 26-03 | 38 | 38 | Stage 1Beltrum - Beltrum (10.0km) | 10.0km |
| 21-03 | 32 | | Youngster Coast Challenge (1.2U) | 170.0km |
| 09-03 | 40 | | Grand Prix de la Ville de Lillers Souvenir Bruno Comini (1.2) | 197.0km |
| 08-03 | 39 | | Le Tour des 100 Communes (1.2) | 191.0km |