| 13-10 | 85 | | UCI World Championship Doha U23 (WC) | 166.0km |
| 10-10 | 11 | | UCI World Championship Doha TT U23 (CM) | 28.0km |
| 01-10 | 14 | | 88°Piccolo Giro di Lombardia (1.2U) | |
| 27-09 | 50 | | Ruota d'Oro - GP Festa del Perdono (1.2U) | |
| 17-09 | 30 | | Memorial Marco Pantani (1.1) | |
| 15-09 | DNF | | Coppa Agostoni (1.1) | 199.0km |
| 14-09 | 73 | | Coppa Bernocchi (1.1) | 192.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 49 | | Klassement |
| 27-08 | 39 | 49 | Stage 8Saint-Michel-de-Maurienne - Saint-Sorlin-d'Arves (72.0km) | 72.0km |
| 26-08 | 59 | 49 | Stage 7Val-d'Isère - Vailmeinier (121.0km) | 121.0km |
| 25-08 | 55 | 41 | Stage 6Saint-Gervais Mont-Blanc - Tignes (123.0km) | 123.0km |
| 24-08 | 40 | 16 | Stage 5Scionzier - Les Carroz-d'Arâches (97.0km) | 97.0km |
| 23-08 | 12 | 16 | Stage 4Lugny - Lugny (16.0km) | 16.0km |
| 22-08 | 98 | 86 | Stage 3Bourg-en-Bresse - Autun (171.0km) | 171.0km |
| 21-08 | 96 | | Stage 2Montrond-les-Bains - Trévoux (156.0km) | 156.0km |
| 20-08 | 111 | 111 | Stage 1Le Puy-en-Velay - Veauche (139.0km) | 139.0km |
| 17-08 | DNF | | XIX Trofeo Beato Bernardo - Coppa Citta' di Offida (1.2U) | |
| 16-08 | 18 | | GP Capodarco - Comunità di Capodarco (1.2U) | |
| 14-08 | DNF | | 41° Gran Premio Sportivi di Poggiana (1.2U) | |
| | | Tour Alsace (2.2) |
| 55 | | Klassement |
| 31-07 | 79 | 55 | Stage 4Colmar - Selestat (149.0km) | 149.0km |
| 30-07 | 55 | 55 | Stage 3Ribeauville - Lac Blanc (157.0km) | 157.0km |
| 29-07 | 60 | 10 | Stage 2Altkirch - Huningue (151.0km) | 151.0km |
| 28-07 | 34 | 18 | Stage 1Velleminfroy - Dannemarie (171.0km) | 171.0km |
| 27-07 | 19 | 19 | PrologueSausheim - Sausheim (7.0km) | 7.0km |
| | | Giro Ciclistico della Valle d'Aosta Mont Blanc (2.2U) |
| 17-07 | OTL | | Stage 5Valtournenche - Breuil-Cervinia (107.0km) | 107.0km |
| 16-07 | 64 | 52 | Stage 4Pontey - Val Clavalité (166.0km) | 166.0km |
| 15-07 | 64 | 57 | Stage 3Quincinetto - Tavagnasco (159.0km) | 159.0km |
| 14-07 | 56 | 54 | Stage 2Morillon - Saint-Gervais Mont-Blanc (136.0km) | 136.0km |
| 13-07 | | 50 | Stage 1Pont-Saint-Martin - Montjovet (19.0km) | 19.0km |
| 17-04 | DNF | | Giro dell'Appennino (1.1) | 197.0km |
| | | Circuit des Ardennes International (2.2) |
| 89 | | Klassement |
| 10-04 | 78 | 89 | Stage 3bCharleville-Mézières - Charleville-Mézières (97.0km) | 97.0km |
| 10-04 | 111 | 103 | Stage 3aSedan - Sedan (85.0km) | 85.0km |
| 09-04 | 103 | 100 | Stage 2Fumay - Revin (173.0km) | 173.0km |
| 08-04 | 112 | 112 | Stage 1Rocquigny - Poix-Terron (166.0km) | 166.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 114 | | Klassement |
| 27-03 | 107 | 114 | Stage 4Pavullo nel Frignano - Pavullo nel Frignano (163.0km) | 163.0km |
| 26-03 | 119 | 157 | Stage 3Calderara di Reno - Crevalcore (172.0km) | 172.0km |
| 25-03 | 148 | 159 | Stage 2Riccione - Sogliano al Rubicone (154.0km) | 154.0km |
| 24-03 | 158 | 158 | Stage 1aGatteo - Gatteo (95.0km) | 95.0km |
| 24-03 | 35 | 156 | Stage 1bGatteo - Gatteo (13.0km) | 13.0km |
| 14-02 | 2 | | National Road Championships - South Africa (CN) | 187.0km |