| 27-09 | 17 | | UCI World Championship Firenze U23 (CM) | 185.0km |
| | | Tour of Britain (2.1) |
| 3 | | Klassement |
| 8 | | Punten |
| 10 | | Berg |
| 22-09 | 25 | 3 | Stage 8London - London (88.0km) | 88.0km |
| 21-09 | 36 | 3 | Stage 7Epsom - Guildford (150.0km) | 150.0km |
| 20-09 | 1 | 3 | Stage 6Sidmouth - Haytor (137.0km) | 137.0km |
| 19-09 | 6 | 8 | Stage 5Machynlleth - Caerphilly (177.0km) | 177.0km |
| 18-09 | 64 | 11 | Stage 4Stoke-on-Trent - Llanberis (191.0km) | 191.0km |
| 17-09 | 17 | 11 | Stage 3Knowsley - Knowsley (16.0km) | 16.0km |
| 16-09 | 4 | 2 | Stage 2Carlisle - Kendal (225.0km) | 225.0km |
| 15-09 | 33 | 39 | Stage 1Peebles - Drumlanrig Castle (201.0km) | 201.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 10 | | Klassement |
| 5 | | Punten |
| 31-08 | 10 | 10 | Stage 7Châtel - Plateau des Glières (134.0km) | 134.0km |
| 30-08 | 1 | 15 | Stage 6Morzine - Châtel (126.0km) | 126.0km |
| 29-08 | 1 | 24 | Stage 5Saint Gervais - Morzine (79.0km) | 79.0km |
| 28-08 | 31 | 28 | Stage 4Albertville - Saint-François-Longchamp (106.0km) | 106.0km |
| 27-08 | 33 | 4 | Stage 3Aix-les-Bains - Albertville (127.0km) | 127.0km |
| 26-08 | 54 | 4 | Stage 2Champagnole - Saint-Vulbas (162.0km) | 162.0km |
| 25-08 | 35 | 4 | Stage 1Louhans - Arbois (146.0km) | 146.0km |
| 24-08 | 6 | 6 | PrologueLouhans - Louhans (5.0km) | 5.0km |
| 04-08 | 71 | | RideLondon Classic (1.1) | 200.0km |
| 21-07 | 25 | | European Championship U23 (CC) | 165.0km |
| | | Czech Cycling Tour (2.2) |
| 10 | | Klassement |
| 14-07 | 13 | 10 | Stage 4Olomouc - Olomouc (176.0km) | 176.0km |
| 13-07 | 21 | 10 | Stage 3Šternberk - Šternberk (173.0km) | 173.0km |
| 12-07 | 77 | 34 | Stage 2Mohelnická - Mohelnická (156.0km) | 156.0km |
| 11-07 | | 37 | Stage 1Uničov - Uničov (25.0km) | 25.0km |
| 23-06 | 8 | | National Road Championships - Great Britain (CN) | 182.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 10 | | Klassement |
| 15-06 | 29 | 10 | Stage 7Ichtershausen - Ichtershausen (157.0km) | 157.0km |
| 14-06 | 3 | 10 | Stage 6Ichtershausen - Ichtershausen (171.0km) | 171.0km |
| 13-06 | 22 | 11 | Stage 5Streufdorf - Streufdorf (27.0km) | 27.0km |
| 12-06 | 54 | 4 | Stage 4Langewiesen - Langewiesen (163.0km) | 163.0km |
| 11-06 | 2 | 4 | Stage 3Neuhaus am Rennweg - Neuhaus am Rennweg (152.0km) | 152.0km |
| 10-06 | 42 | 13 | Stage 2Behringen - Behringen (177.0km) | 177.0km |
| 09-06 | 7 | 13 | Stage 1Erfurt - Erfurt (170.0km) | 170.0km |
| 08-06 | 16 | 16 | PrologueSülzenbrücken - Holzhausen (4.0km) | 4.0km |
| | | An Post Ras (2.2) |
| 9 | | Klassement |
| 26-05 | 18 | 9 | Stage 8Naas - Skerries (144.0km) | 144.0km |
| 25-05 | 15 | 9 | Stage 7Carlow - Naas (141.0km) | 141.0km |
| 24-05 | 27 | 8 | Stage 6Mitchelstown - Carlow (154.0km) | 154.0km |
| 23-05 | 24 | 8 | Stage 5Glengarriff - Mitchelstown (150.0km) | 150.0km |
| 22-05 | 6 | 7 | Stage 4Listowel - Glengarriff (153.0km) | 153.0km |
| 21-05 | 11 | 27 | Stage 3Nenagh - Listowel (141.0km) | 141.0km |
| 20-05 | 41 | 39 | Stage 2Longford - Nenagh (160.0km) | 160.0km |
| 19-05 | 52 | 52 | Stage 1Dunboyne - Longford (135.0km) | 135.0km |
| | | Flèche du Sud (2.2) |
| 10 | | Klassement |
| 12-05 | 3 | 10 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (136.0km) | 136.0km |
| 11-05 | 4 | 10 | Stage 4Kayl - Soleuvre (157.0km) | 157.0km |
| 10-05 | 9 | 19 | Stage 3Bourscheid - Clervaux (146.0km) | 146.0km |
| 09-05 | 60 | 51 | Stage 2Schifflange - Rumelange (145.0km) | 145.0km |
| 08-05 | 61 | 60 | Stage 1Roeser - Roeser (81.0km) | 81.0km |
| 13-04 | 17 | | ZLM tour (1.NCUP) | 177.0km |
| 10-04 | 3 | | La Côte Picarde (1.NCUP) | |
| 06-04 | 20 | | Ronde van Vlaanderen Beloften (1.NCUP) | 173.0km |
| 24-02 | 11 | | UCI Cycling World Championships - Track (Madison) (CM) | |
| 22-02 | 1 | | UCI Cycling World Championships - Track (Points Race) (CM) | |