| 22-09 | 93 | | UCI World Championship Limburg U23 (CM) | 161.0km |
| 17-09 | 3 | | UCI World Championship Limburg TT U23 (CM) | 36.0km |
| 09-09 | 4 | | Chrono Champenois Masculin International (1.2) | |
| 02-09 | 2 | | Memorial Davide Fardelli (TT) (1.2) | |
| 12-08 | 24 | | Gran Premio Sportivi di Poggiana-Trofeo Bonin Costruzioni (1.2U) | |
| | | Tour Alsace (2.2) |
| 7 | | Klassement |
| 29-07 | 24 | 7 | Stage 5Ribeauville - Ballon d'Alsace (156.0km) | 156.0km |
| 28-07 | 2 | 7 | Stage 4bCernay - Cernay (17.0km) | 17.0km |
| 28-07 | 26 | 7 | Stage 4aBollwiller - Le Markstein (84.0km) | 84.0km |
| 27-07 | 51 | 7 | Stage 3Beaucourt - Colmar (161.0km) | 161.0km |
| 26-07 | 7 | 7 | Stage 2Strasbourg - Bischoffsheim (153.0km) | 153.0km |
| 25-07 | 93 | 95 | Stage 1Weil-am-Rhein - Huningue (147.0km) | 147.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 12 | | Klassement |
| 15-06 | 46 | 12 | Stage 6Zeulenroda-Triebes - Zeulenroda-Triebes (146.0km) | 146.0km |
| 14-06 | 24 | 12 | Stage 5Gräfenroda - Oberhof (8.0km) | 8.0km |
| 13-06 | 29 | 7 | Stage 4Treffurt - Treffurt (185.0km) | 185.0km |
| 12-06 | 36 | 7 | Stage 3Bad Blankenburg - Bad Blankenburg (148.0km) | 148.0km |
| 11-06 | 33 | 7 | Stage 2Schönbrunn - Steinbach (141.0km) | 141.0km |
| 10-06 | 39 | 7 | Stage 1Erfurt - Erfurt (179.0km) | 179.0km |
| 09-06 | 2 | 8 | PrologueSangerhausen - Sangerhausen (6.0km) | 6.0km |
| 02-06 | 62 | | Trofeo Alcide Degasperi (1.2) | |
| | | Royal Smilde Olympia's Tour (2.2) |
| 83 | | Klassement |
| 19-05 | 97 | 83 | Stage 6Reuver - Reuver (96.0km) | 96.0km |
| 19-05 | 4 | 83 | Stage 5Reuver - Reuver (13.0km) | 13.0km |
| 18-05 | 83 | 90 | Stage 4Buchten - Buchten (204.0km) | 204.0km |
| 17-05 | 76 | 96 | Stage 3Elst - Hoofddorp (163.0km) | 163.0km |
| 16-05 | 101 | 96 | Stage 2Ulft - Gendringen (158.0km) | 158.0km |
| 15-05 | 89 | 24 | Stage 1Zandvoort - Noordwijk (144.0km) | 144.0km |
| 14-05 | 24 | 24 | PrologueZandvoort - Zandvoort (3.0km) | 3.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 48 | | Klassement |
| 06-05 | 70 | 48 | Stage 5San Daniele del Friuli - Moruzzo (149.0km) | 149.0km |
| 05-05 | 46 | 40 | Stage 4Tolmezzo - Tarvisio (172.0km) | 172.0km |
| 04-05 | 16 | 18 | Stage 3Maniago - Potebba Passo Pramollo (149.0km) | 149.0km |
| 03-05 | 117 | 113 | Stage 2Azzano Decimo - Pordenone (164.0km) | 164.0km |
| 02-05 | 123 | 123 | Stage 1Trieste - Gorizia (158.0km) | 158.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 25-04 | DNF | | Stage 1Vannes - Vannes (167.0km) | 167.0km |
| | | Toscana-Terra di ciclismo-Coppa delle Nazioni (2.NCUP) |
| 39 | | Klassement |
| 21-04 | 42 | 39 | Stage 5Greve in Chianti - Bonconvento | |
| 20-04 | 42 | 44 | Stage 4Cortona - Terranova Bracciolini | |
| 19-04 | 68 | 62 | Stage 3Cavriglia - Parco di Cavriglia | |
| 18-04 | 64 | 64 | Stage 2Figlile Valdarno - Gaiole in Chianti | |
| 17-04 | 82 | 82 | Stage 1Camping Girasole - Scarperia | |
| 11-04 | 25 | | La Côte Picarde (1.NCUP) | |
| 07-04 | 58 | | Ronde van Vlaanderen Beloften (1.NCUP) | 173.0km |
| 18-03 | 14 | | Oceania Continental Championships (CC) | |
| | | New Zealand Cycle Classic (2.2) |
| 21 | | Klassement |
| 29-01 | | 21 | Stage 5Palmerston - Palmerston (112.0km) | 112.0km |
| 28-01 | | 6 | Stage 4Palmerston - Saddle Road (131.0km) | 131.0km |
| 27-01 | 13 | 5 | Stage 3Palmerston - Palmerston (163.0km) | 163.0km |
| 26-01 | 9 | 5 | Stage 2Palmerston - Palmerston (113.0km) | 113.0km |
| 25-01 | 3 | 3 | Stage 1Palmerston - Palmerston (6.0km) | 6.0km |
| 10-01 | 2 | | National Road Championships - Australia TT U23 (CU23) | 27.0km |