| | | Presidential Cycling Tour of Türkiye (2.Pro) |
| 08-10 | DNS | | Stage 1Antalya - Antalya (175.0km) | 175.0km |
| 04-10 | DNF | | Visit Friesland Elfstedenrace (1.1) | 204.0km |
| 27-08 | DNF | | Ronde van de Achterhoek (1.2) | |
| | | Tour du Limousin (2.1) |
| 37 | | Klassement |
| 15 | | Berg |
| 18-08 | 33 | 37 | Stage 4Saint-Yrieix-la-Perche - Limoges (170.0km) | 170.0km |
| 17-08 | 44 | 41 | Stage 3Sarran - Bort-les-Orgues (195.0km) | 195.0km |
| 16-08 | 26 | 36 | Stage 2Excideuil - Trélissac (185.0km) | 185.0km |
| 15-08 | 38 | 38 | Stage 1Rilhac-Rancon - Bénévent-l'Abbaye (165.0km) | 165.0km |
| 11-06 | DNF | | Elfstedenronde Brugge (1.1) | 190.0km |
| 10-06 | 28 | | Duracell Dwars door het Hageland (1.Pro) | |
| | | Ronde de l'Oise (2.2) |
| 22 | | Klassement |
| 20 | | Berg |
| 04-06 | 24 | 22 | Stage 4Breuil-le-Sec - Liancourt (158.0km) | 158.0km |
| 03-06 | 32 | 23 | Stage 3Andeville - Le Plessis-Belleville (189.0km) | 189.0km |
| 02-06 | 30 | 29 | Stage 2Bréteuil - Margny-lès-Compiègne (181.0km) | 181.0km |
| 01-06 | 30 | 31 | Stage 1Beauvais - Clermont (145.0km) | 145.0km |
| | | Flèche du Sud (2.2) |
| 72 | | Klassement |
| 21-05 | 39 | 72 | Stage 4Esch-sur-Alzette - Esch-sur-Alzette (147.0km) | 147.0km |
| 20-05 | 85 | 73 | Stage 3Sanem - Sanem (148.0km) | 148.0km |
| 19-05 | 56 | 56 | Stage 2Bourscheid - Bourscheid (131.0km) | 131.0km |
| 18-05 | 25 | 9 | Stage 1Rumelange - Rumelange (156.0km) | 156.0km |
| 17-05 | 9 | 9 | PrologueEsch-sur-Alzette - Esch-sur-Alzette (3.0km) | 3.0km |
| | | International Tour of Hellas (2.1) |
| 68 | | Klassement |
| 06-05 | 96 | 68 | Stage 4Pylos - Olympia (133.0km) | 133.0km |
| 05-05 | 90 | 68 | Stage 3Pylos - Kyparissia (153.0km) | 153.0km |
| 04-05 | 81 | 67 | Stage 2Mycenae - Kalamata (178.0km) | 178.0km |
| 03-05 | 27 | 40 | Stage 1Heraklion - Heraklion (187.0km) | 187.0km |
| 02-05 | 56 | 56 | PrologueHeraklion - Heraklion (8.0km) | 8.0km |
| 23-04 | 32 | | Rutland-Melton CiCLE Classic (1.2) | |
| | | Tour du Loir et Cher (2.2) |
| 2 | | Klassement |
| 9 | | Punten |
| 1 | | Berg |
| 16-04 | 24 | 2 | Stage 5Blois - Blois (97.0km) | 97.0km |
| 15-04 | 57 | 2 | Stage 4Vernou-en-Sologne - Vernou-en-Sologne (156.0km) | 156.0km |
| 14-04 | 39 | 2 | Stage 3Freteval - Vendôme (167.0km) | 167.0km |
| 13-04 | 46 | 3 | Stage 2Sassay - Selommes (151.0km) | 151.0km |
| 12-04 | 3 | 3 | Stage 1Blois - Chailles (136.0km) | 136.0km |
| 01-04 | DNF | | Volta Limburg Classic (1.1) | 196.0km |
| 15-01 | 9 | | British National Championships CX (CN) | |
| 08-01 | 11 | | British National Trophy Series #6 - Gravesend (C2) | |