| 30-12 | 5 | | Cyclocross Bredene (C2) | |
| 29-12 | 10 | | Telenet Superprestige Diegem (C1) | |
| 22-12 | 4 | | Telenet UCI Cyclo-cross World Cup Namur (CDM) | |
| 21-12 | 3 | | Waaslandcross Sint-Niklaas (C2) | |
| 15-12 | 2 | | Vlaamse Druivencross Overijse (C1) | |
| 08-12 | 7 | | Telenet Superprestige Zonhoven (C1) | |
| 07-12 | 3 | | Ethias Cross - Essen (C1) | |
| 24-11 | 10 | | Telenet UCI Cyclo-cross World Cup Koksijde (CDM) | |
| 23-11 | 4 | | Ambiancecross Wachtebeke (C1) | |
| 16-11 | 14 | | Telenet UCI Cyclo-cross World Cup Tabor (CDM) | |
| 10-11 | 8 | | UEC Cyclo-cross European Championships (CC) | |
| 03-11 | 6 | | Telenet Superprestige Ruddervoorde (C1) | |
| 01-11 | 2 | | DVV Verzekeringen trofee - Koppenbergcross (C1) | |
| 27-10 | 4 | | Telenet Superprestige Gavere (C1) | |
| 26-10 | 3 | | Ethias Cross - Beringen (C1) | |
| 19-10 | 3 | | Telenet Superprestige De Schorre Boom (C2) | |
| 17-10 | 2 | | Kermiscross Ardooie (C2) | |
| 13-10 | 13 | | Telenet Superprestige Gieten (C1) | |
| 12-10 | 7 | | Polderscross Kruibeke (C2) | |
| 27-09 | 3 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 22-08 | DNS | | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 120 | 7 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 4 | 9 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 30 | 9 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 2 | 8 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 18 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 3 | 3 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| | | Tour Alsace (2.2) |
| 1 | | Klassement |
| 2 | | Punten |
| 5 | | Berg |
| 04-08 | 3 | 1 | Stage 5Ottmarsheim - Dannemarie (158.0km) | 158.0km |
| 03-08 | 13 | 1 | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 1 | 1 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 23 | 12 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 10 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 20-07 | 1 | | British National Championship - XCO U23 (CN) | |
| 30-06 | 43 | | National Road Championships - Great Britain (CN) | |
| 27-06 | 7 | | National Road Championships - Great Britain TT U23 (CN) | |
| 02-06 | 1 | | Paris-Roubaix Espoirs (1.2U) | |
| | | A Travers les Hauts de France (2.2) |
| 9 | | Klassement |
| 26-05 | 31 | 9 | Stage 3Petite-Forêt - Pecquencourt (188.0km) | 188.0km |
| 25-05 | 3 | 6 | Stage 2Seclin - Bonningues-lès-Calais (197.0km) | 197.0km |
| 24-05 | 13 | 20 | Stage 1Gavrelle - Épinoy (125.0km) | 125.0km |
| | | Tour de Yorkshire (2.HC) |
| 04-05 | DNS | | Stage 3Bridlington - Scarborough (132.0km) | 132.0km |
| 03-05 | 66 | 51 | Stage 2Barnsley - Bedale (132.0km) | 132.0km |
| 02-05 | 44 | 45 | Stage 1Doncaster - Selby (178.0km) | 178.0km |
| 28-04 | 5 | | 15th Rutland - Melton Cicle Classic (1.2) | |
| 20-04 | 26 | | Liège - Bastogne - Liège U23 (1.2U) | 171.0km |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 3 | | Klassement |
| 1 | | Punten |
| 07-04 | 2 | 3 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 6 | 4 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 1 | 4 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 5 | 5 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 31-03 | 35 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| 24-02 | 18 | | Internationale Sluitingsprijs Oostmalle (C1) | |
| 17-02 | 3 | | Vestingcross Hulst (C2) | |
| 16-02 | 10 | | Telenet Superprestige Noordzeecross Middelkerke (C1) | |
| 10-02 | 5 | | Telenet Superprestige Hoogstraten (C1) | |
| 09-02 | 1 | | DVV verzekeringen trofee - Krawatencross U23 (C1) | |
| 02-02 | 1 | | UCI Cyclo-cross World Championships Bogense U23 (CM) | |
| 26-01 | 2 | | Kasteelcross Zonnebeke (C2) | |
| 20-01 | 1 | | Telenet UCI Cyclo-cross World Cup Pontchâteau U23 (CDM) | |
| 13-01 | 1 | | British National Championships (CN) | |
| 01-01 | 8 | | DVV verzekeringen trofee - GP Sven Nys (C1) | |