| 24-09 | 21 | | UCI World Championship Yorkshire TT U23 (CM) | 30.0km |
| | | OVO Energy Tour of Britain (2.HC) |
| 63 | | Klassement |
| 40 | | Punten |
| 14-09 | 52 | 63 | Stage 8Altrincham - Manchester (165.0km) | 165.0km |
| 13-09 | 56 | 60 | Stage 7Warwick - Burton Dassett Country Park (186.0km) | 186.0km |
| 12-09 | 62 | 63 | Stage 6Pershore - Pershore (14.0km) | 14.0km |
| 11-09 | 31 | 67 | Stage 5Birkenhead - Birkenhead (174.0km) | 174.0km |
| 10-09 | 63 | 71 | Stage 4Gateshead - Kendal (171.0km) | 171.0km |
| 09-09 | 57 | 68 | Stage 3Berwick-upon-Tweed - Newcastle-upon-Tyne (182.0km) | 182.0km |
| 08-09 | 66 | 68 | Stage 2Kelso - Kelso (166.0km) | 166.0km |
| 07-09 | 14 | 17 | Stage 1Glasgow - Kirkcudbright (201.0km) | 201.0km |
| 10-08 | 32 | | UEC Road European Championships U23 (CC) | 138.0km |
| 08-08 | 30 | | UEC Road European Championships TT U23 (CC) | |
| | | Kreiz Breizh Elites (2.2) |
| 72 | | Klassement |
| 05-08 | 55 | 72 | Stage 4Guingamp - Rostrenen (171.0km) | 171.0km |
| 04-08 | 92 | 83 | Stage 3Ploërdut - Carhaix (181.0km) | 181.0km |
| 03-08 | 59 | 13 | Stage 2Calanhel - Plouray (181.0km) | 181.0km |
| 02-08 | | 8 | Stage 1Ploumagoar - Ploumagoar (12.0km) | 12.0km |
| 30-06 | 100 | | National Road Championships - Great Britain (CN) | |
| 27-06 | 3 | | National Road Championships - Great Britain TT U23 (CN) | |
| 23-06 | 28 | | European Games Minsk (CC) | |
| | | Course de la Paix Grand Prix Priessnitz spa (2.NCUP) |
| 09-06 | 102 | | Stage 3Jeseník - Jeseník (171.0km) | 171.0km |
| 08-06 | 73 | 71 | Stage 2Krnov - Dlouhé (150.0km) | 150.0km |
| 07-06 | 20 | 8 | Stage 1Jeseník - Rýmařov (134.0km) | 134.0km |
| 06-06 | 2 | 2 | PrologueKrnov - Krnov (2.0km) | 2.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 02-06 | DNF | | Stage 2Bukovina Resort - Bukowina Tatrzanska (113.0km) | 113.0km |
| 01-06 | | 52 | Stage 1Jurgów - Bukovina Resort (27.0km) | 27.0km |
| | | A Travers les Hauts de France (2.2) |
| 51 | | Klassement |
| 26-05 | 48 | 51 | Stage 3Petite-Forêt - Pecquencourt (188.0km) | 188.0km |
| 25-05 | 67 | 69 | Stage 2Seclin - Bonningues-lès-Calais (197.0km) | 197.0km |
| 24-05 | 66 | 72 | Stage 1Gavrelle - Épinoy (125.0km) | 125.0km |
| 05-05 | 84 | | Entre Brenne et Montmorillonnais (1.2) | |
| 04-05 | 49 | | L'Etoile d'Or (1.NCUP) | |
| 01-05 | 60 | | Eschborn-Frankfurt U23 (1.2U) | 147.0km |
| 20-04 | 91 | | Arno Wallaard Memorial (1.2) | |
| | | Volta ao Alentejo (2.2) |
| 92 | | Klassement |
| 24-03 | 75 | 92 | Stage 6Portalegre - Évora (152.0km) | 152.0km |
| 23-03 | 114 | 98 | Stage 4Ponte de Sor - Portalegre (74.0km) | 74.0km |
| 23-03 | 53 | 92 | Stage 5Castelo de Vide - Castelo de Vide (8.0km) | 8.0km |
| 22-03 | 80 | 76 | Stage 3Santiago do Cacém - Mora (176.0km) | 176.0km |
| 21-03 | 78 | 68 | Stage 2Mértola - Odemira (182.0km) | 182.0km |
| 20-03 | 73 | 75 | Stage 1Montemor-o-Novo - Moura (208.0km) | 208.0km |