| 22-09 | 16 | | UCI World Championship Limburg U23 (CM) | 161.0km |
| | | Tour of Bulgaria (2.2) |
| 26 | | Klassement |
| 15-09 | 11 | 26 | Stage 7Shumen - Dobrich (176.0km) | 176.0km |
| 14-09 | 56 | 29 | Stage 6Burgas - Shumen (217.0km) | 217.0km |
| 13-09 | 87 | 29 | Stage 5Stara Zagora - Burgas (170.0km) | 170.0km |
| 12-09 | 13 | 1 | Stage 4Tryavna - Stara Zagora (97.0km) | 97.0km |
| 11-09 | 6 | 1 | Stage 3Gabrovo - Tryavna (113.0km) | 113.0km |
| 10-09 | 7 | 1 | Stage 2Troyan - Gabrovo (100.0km) | 100.0km |
| 09-09 | 7 | 1 | Stage 1bZlatitsa - Troyan (93.0km) | 93.0km |
| 09-09 | 1 | 1 | Stage 1aSofia - Zlatitsa (68.0km) | 68.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 6 | | Klassement |
| 01-09 | 1 | 6 | Stage 6Beaufort - Le Grand-Bornand (82.0km) | 82.0km |
| 31-08 | 8 | 6 | Stage 5Valloire - Le Saisies (130.0km) | 130.0km |
| 30-08 | 8 | 8 | Stage 4Seyssel - Valloire (155.0km) | 155.0km |
| 29-08 | 49 | 28 | Stage 3Pont-d'Ain - Annemasse (152.0km) | 152.0km |
| 28-08 | 70 | 35 | Stage 2Parc des Oiseaux - Chatillon-sur-Chalaronne (139.0km) | 139.0km |
| 27-08 | 84 | 35 | Stage 1Dôle - Belleville (172.0km) | 172.0km |
| 26-08 | 34 | 34 | PrologueDôle - Dôle (3.0km) | 3.0km |
| 21-08 | 1 | | Grand Prix des Marbriers (1.2) | |
| 12-08 | 12 | | Gran Premio Sportivi di Poggiana-Trofeo Bonin Costruzioni (1.2U) | |
| 29-07 | 34 | | Trofeo Matteotti (1.1) | 188.0km |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) |
| 14 | | Klassement |
| 22-07 | 27 | 14 | Stage 6Châtel - Col de Bessachaux (12.0km) | 12.0km |
| 21-07 | 19 | 14 | Stage 5Aigle - Châtel (142.0km) | 142.0km |
| 20-07 | 22 | 15 | Stage 4Antey-Saint-André - Antey-Saint-André (166.0km) | 166.0km |
| 19-07 | 21 | 18 | Stage 3Quincinetto - Tavagnasco (138.0km) | 138.0km |
| 18-07 | 22 | 18 | Stage 2Issogne - Champdepraz (160.0km) | 160.0km |
| 17-07 | 17 | 26 | Stage 1Arvier - Arvier (133.0km) | 133.0km |
| 16-07 | 53 | 53 | PrologueHône - Forte di Bard (3.0km) | 3.0km |
| 14-07 | 39 | | GP Nobili Rubinetterie Coppa Citta di Stresa (1.1) | |
| 08-07 | 41 | | Giro del Medio Brenta (1.2) | |
| | | Baby Giro (2.2) |
| 14-06 | DNF | | Stage 6Gaiole in Chianti - Perignano di Lari (163.0km) | 163.0km |
| 12-06 | 107 | 48 | Stage 5Perugia - Gaiole in Chianti (156.0km) | 156.0km |
| 11-06 | 27 | 30 | Stage 4Avezzano - Monte Terminillo (168.0km) | 168.0km |
| 10-06 | 29 | 48 | Stage 3Notaresco - Sora (193.0km) | 193.0km |
| 09-06 | 90 | 99 | Stage 2aColonnella - Alba Adriatica (75.0km) | 75.0km |
| 09-06 | 62 | 57 | Stage 2bGiulianova - Alba Adriatica (12.0km) | 12.0km |
| 08-06 | 115 | 117 | Stage 1Monte Urano - Tortoreto Lido (144.0km) | 144.0km |
| 03-06 | 55 | | Grand Prix Südkärnten (1.2) | |
| | | Ronde de l'Isard (2.2U) |
| 20-05 | DNF | | Stage 4Auterive - Saint-Girons (182.0km) | 182.0km |
| 19-05 | 54 | 36 | Stage 3Rieumes - Aspet (153.0km) | 153.0km |
| 18-05 | 10 | 3 | Stage 2Mazères - Mirepoix (155.0km) | 155.0km |
| 17-05 | 4 | 4 | Stage 1Saint-Girons - Carla Bayle (155.0km) | 155.0km |
| | | Rhône-Alpes Isère Tour (2.2) |
| 16 | | Klassement |
| 13-05 | 14 | 16 | Stage 4Charvieu-Chavagneux - Charvieu-Chavagneux (154.0km) | 154.0km |
| 12-05 | 18 | 26 | Stage 3Saint-Maurice-l'Exil - Saint-Maurice-l'Exil (166.0km) | 166.0km |
| 11-05 | 44 | 43 | Stage 2Vaulx-Milieu - Montanay (181.0km) | 181.0km |
| 10-05 | 30 | 31 | Stage 1Domarin - Ruy-Montceau (141.0km) | 141.0km |
| 06-05 | 89 | | Circuito del Porto - Trofeo Arvedi (1.2) | |
| | | Toscana-Terra di ciclismo-Coppa delle Nazioni (2.NCUP) |
| 16 | | Klassement |
| 21-04 | 7 | 16 | Stage 5Greve in Chianti - Bonconvento | |
| 20-04 | 38 | 25 | Stage 4Cortona - Terranova Bracciolini | |
| 19-04 | 23 | 24 | Stage 3Cavriglia - Parco di Cavriglia | |
| 18-04 | 38 | 14 | Stage 2Figlile Valdarno - Gaiole in Chianti | |
| 17-04 | 10 | 10 | Stage 1Camping Girasole - Scarperia | |
| 11-04 | 20 | | La Côte Picarde (1.NCUP) | |
| 07-04 | 23 | | Ronde van Vlaanderen Beloften (1.NCUP) | 173.0km |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 31 | | Klassement |
| 01-04 | 2 | 31 | Stage 4Bel?il - Tournai (162.0km) | 162.0km |
| 31-03 | 40 | 50 | Stage 3Mont-de-l'Enclus - Vieux-Condé (85.0km) | 85.0km |
| 31-03 | 30 | 52 | Stage 2Mont-de-l'Enclus - Mont-de-l'Enclus (9.0km) | 9.0km |
| 30-03 | 92 | 92 | Stage 1Château d'Estaimbourg - Quevaucamps (179.0km) | 179.0km |
| | | Volta ao Alentejo (2.2) |
| 11 | | Klassement |
| 25-03 | 27 | 11 | Stage 4Mértola - Grandola (151.0km) | 151.0km |
| 24-03 | 11 | 9 | Stage 3Odemira - Ourique (168.0km) | 168.0km |
| 23-03 | 17 | 16 | Stage 2Portel - Santiago do Cacém (191.0km) | 191.0km |
| 22-03 | 12 | 12 | Stage 1Castelo de Vide - Redondo (165.0km) | 165.0km |
| | | Istarsko proljece - Istrian Spring Trophy (2.2) |
| 9 | | Klassement |
| 18-03 | 26 | 9 | Stage 3Pazin - Umag (169.0km) | 169.0km |
| 17-03 | 9 | 9 | Stage 2Vrsar - Motovun (157.0km) | 157.0km |
| 16-03 | 9 | 19 | Stage 1Umag - Labin (159.0km) | 159.0km |
| 15-03 | 117 | 117 | PrologueUmag - Umag (2.0km) | 2.0km |
| 11-03 | 34 | | Paris-Troyes (1.2) | 174.0km |
| 04-03 | 10 | | Trofeo Zssdi - Unione dei Circoli sportivi (1.2) | 143.0km |
| 26-02 | 39 | | G.P. Città di Lugano (1.1) | |