| 18-09 | 54 | | UCI World Championship Bergen TT U23 (CM) | 37.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 27-08 | DNS | | Stage 9Bourg-Saint-Maurice - Albiez-Montrond (106.0km) | 106.0km |
| 26-08 | 43 | 61 | Stage 8Albertville - Sainte-Foy-Tarentaise (120.0km) | 120.0km |
| 25-08 | 93 | 86 | Stage 7Saint-Gervais Mont-Blanc - Le Saisies (118.0km) | 118.0km |
| 23-08 | 7 | 54 | Stage 6Montrichard - Saint-Amand-Montrond (139.0km) | 139.0km |
| 22-08 | 99 | 72 | Stage 5Montreuil - Amboise (157.0km) | 157.0km |
| 21-08 | 28 | 64 | Stage 4Derval - Saumur (166.0km) | 166.0km |
| 20-08 | 63 | 91 | Stage 3Missillac - Chateaubriant (125.0km) | 125.0km |
| 19-08 | 111 | 107 | Stage 2Inzinzac-Lochrist - Bignan (132.0km) | 132.0km |
| 18-08 | 89 | 89 | Stage 1Loudéac - Loudéac (134.0km) | 134.0km |
| 05-08 | 96 | | UEC Road European Championships U23 (CC) | 160.0km |
| 03-08 | 11 | | UEC Road European Championships TT U23 (CC) | 31.0km |
| 09-07 | 35 | | Velothon Wales (1.1) | |
| 25-06 | 6 | | National Road Championships - Ireland (CN) | 175.0km |
| 22-06 | 4 | | National Road Championships - Ireland TT (CN) | 34.0km |
| | | Baby Giro (2.2) |
| 11-06 | DNF | | Stage 3Bagnara di Romagna - Forlì (140.0km) | 140.0km |
| 10-06 | 145 | 101 | Stage 2Castellarano - Castellarano (145.0km) | 145.0km |
| 09-06 | 47 | 47 | Stage 1Imola (Autodromo Enzo e Dino Ferrari) - Imola (Autodromo Enzo e Dino Ferrari) (132.0km) | 132.0km |
| | | An Post Rás (2.2) |
| 8 | | Klassement |
| 28-05 | 30 | 8 | Stage 8Ardee - Skerries (129.0km) | 129.0km |
| 27-05 | 39 | 9 | Stage 7Donegal - Ardee (167.0km) | 167.0km |
| 26-05 | 12 | 9 | Stage 6Dungloe - Donegal (132.0km) | 132.0km |
| 25-05 | 13 | 9 | Stage 5Buncrana - Dungloe (181.0km) | 181.0km |
| 24-05 | 13 | 22 | Stage 4Bundoran - Buncrana (151.0km) | 151.0km |
| 23-05 | 36 | 33 | Stage 3Newport - Bundoran (149.0km) | 149.0km |
| 22-05 | 55 | 46 | Stage 2Longford - Newport (142.0km) | 142.0km |
| 21-05 | 43 | 45 | Stage 1Dublin - Longford (146.0km) | 146.0km |
| | | Tour of Croatia (2.1) |
| 52 | | Klassement |
| 23-04 | 40 | 52 | Stage 6Samobor - Zagreb (147.0km) | 147.0km |
| 22-04 | 64 | 56 | Stage 5Porec - Ucka (141.0km) | 141.0km |
| 21-04 | 98 | 46 | Stage 4Crikvenica - Umag (171.0km) | 171.0km |
| 20-04 | 60 | 46 | Stage 3Imotski - Zadar (237.0km) | 237.0km |
| 19-04 | 60 | 56 | Stage 2Trogir - Biokovo (123.0km) | 123.0km |
| 18-04 | 148 | 7 | Stage 1Osijek - Koprivnica (227.0km) | 227.0km |
| 15-04 | 62 | | ZLM tour (1.NCUP) | |
| 08-04 | 79 | | Ronde van Vlaanderen U23 (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux
(2.2) |
| 02-04 | 65 | | Stage 3aChièvres - Chièvres (10.0km) | 10.0km |
| 02-04 | 56 | 44 | Stage 3bAth - Chièvres (97.0km) | 97.0km |
| 01-04 | 46 | 44 | Stage 2Frasnes-lez-Buissenal - Péronnes-lez-Antoing (148.0km) | 148.0km |
| 31-03 | 54 | 54 | Stage 1Flobecq - Warcoing (166.0km) | 166.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 26-03 | DNF | | Stage 4Fiorano Modenese - Sassuolo (160.0km) | 160.0km |
| 25-03 | 133 | 149 | Stage 3Crevalcore - Crevalcore (171.0km) | 171.0km |
| 24-03 | 155 | 153 | Stage 2Riccione - Sogliano al Rubicone (130.0km) | 130.0km |
| 23-03 | 177 | 177 | Stage 1aGatteo - Gatteo (98.0km) | 98.0km |
| 23-03 | 11 | 157 | Stage 1bGatteo - Gatteo (13.0km) | 13.0km |
| | | International Tour of Rhodes (2.2) |
| 40 | | Klassement |
| 12-03 | 19 | 40 | Stage 3Rhodes - Rhodes (175.0km) | 175.0km |
| 11-03 | 41 | 41 | Stage 2Rhodes - Rhodes (172.0km) | 172.0km |
| 10-03 | 63 | 63 | Stage 1Rhodes - Rhodes (156.0km) | 156.0km |