| 06-10 | 24 | | 91° Il Piccolo Lombardia (1.2U) | |
| 22-09 | 42 | | Gooikse Pijl (1.1) | |
| 20-09 | DNF | | Kampioenschap van Vlaanderen (1.1) | 185.0km |
| 18-09 | 86 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 21-08 | 69 | | Veenendaal-Veenendaal Classic (1.1) | 184.0km |
| | | Czech Cycling Tour (2.1) |
| 18-08 | DNF | | Stage 4Mohelnice - Šternberk (178.0km) | 178.0km |
| 17-08 | 119 | 111 | Stage 3Olomouc - Uničov (173.0km) | 173.0km |
| 16-08 | 117 | 114 | Stage 2Olomouc - Frýdek-Místek (212.0km) | 212.0km |
| 29-06 | 14 | | National Road Championships - Portugal U23 (CN) | |
| 27-06 | 6 | | National Road Championships - Portugal TT U23 (CN) | |
| | | Ronde de l'Isard (2.2U) |
| 24-05 | DNF | | Stage 2Salies-du-Salat - Castillon-en-Couserans (136.0km) | 136.0km |
| 23-05 | 41 | 6 | Stage 1Toulouse - Le Mas-d'Azil (144.0km) | 144.0km |
| 12-05 | 68 | | Flèche Ardennaise (1.2) | 179.0km |
| 20-04 | DNF | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Circuit des Ardennes International (2.2) |
| 67 | | Klassement |
| 14-04 | 51 | 67 | Stage 4Villers-Semeuse - Charleville-Mézières (101.0km) | 101.0km |
| 14-04 | 114 | 81 | Stage 3Nouvion-sur-Meuse - Aiglemont (58.0km) | 58.0km |
| 13-04 | 75 | 70 | Stage 2Rocroi - Monthermé (160.0km) | 160.0km |
| 12-04 | 65 | 66 | Stage 1Neuvizy - Launois-sur-Vence (187.0km) | 187.0km |
| | | Tour de Normandie (2.2) |
| 58 | | Klassement |
| 51 | | Punten |
| 31-03 | 96 | 58 | Stage 7Saint-Lô - Caen (150.0km) | 150.0km |
| 30-03 | 68 | 56 | Stage 6Gouville-sur-Mer - Martinvast (159.0km) | 159.0km |
| 29-03 | 86 | 71 | Stage 5Alencon - Bagnoles de l'Orne (172.0km) | 172.0km |
| 28-03 | 105 | 74 | Stage 4Tilly-sur-Seulles - Argentan (173.0km) | 173.0km |
| 27-03 | 78 | 77 | Stage 3Bourg-Achard - Elbeuf (147.0km) | 147.0km |
| 26-03 | 96 | 115 | Stage 2Darnétal - Forges-les-Eaux (169.0km) | 169.0km |
| 25-03 | 118 | 118 | Stage 1Courseulles-sur-Mer - Le Neubourg (159.0km) | 159.0km |