| 02-10 | DNF | | Giro del Piemonte (1.HC) | 185.0km |
| 01-10 | DNF | | Milano-Torino (1.HC) | 186.0km |
| 21-09 | 11 | | UCI World Championship Richmond TT U23 (CM) | 29.0km |
| | | Tour of Britain (2.HC) |
| 55 | | Klassement |
| 13-09 | 43 | 55 | Stage 8London - London (93.0km) | 93.0km |
| 12-09 | 39 | 56 | Stage 7Fakenham - Ipswich (221.0km) | 221.0km |
| 11-09 | 39 | 61 | Stage 6Stoke-on-Trent - Nottingham (189.0km) | 189.0km |
| 10-09 | 39 | 61 | Stage 5Prudhoe - Hartside Fell (171.0km) | 171.0km |
| 09-09 | 61 | 67 | Stage 4Edinburgh - Blyth (218.0km) | 218.0km |
| 08-09 | 54 | 76 | Stage 3Cockermouth - Floors Castle (216.0km) | 216.0km |
| 07-09 | 80 | 85 | Stage 2Clitheroe - Colne (154.0km) | 154.0km |
| 06-09 | 58 | 59 | Stage 1Beaumaris - Wrexham (177.0km) | 177.0km |
| 26-08 | 42 | | Druivenkoers - Overijse (1.1) | |
| 23-08 | DNF | | Grote Prijs Jef Scherens - Rondom Leuven (1.1) | |
| 21-08 | 78 | | Arnhem-Veenendaal Classic (1.1) | 195.0km |
| 18-08 | 103 | | GP Stad Zottegem (1.1) | 189.0km |
| 09-08 | 43 | | European Championship U23 (CC) | |
| 07-08 | 4 | | European Championship TT U23 (CC) | |
| 02-08 | 115 | | Prudential RideLondon & Surrey Classic (1.HC) | |
| 26-06 | 1 | | National Road Championships - Ireland TT (CN) | |
| 21-06 | DNF | | European Games Baku (CC) | |
| 18-06 | 8 | | European Games Baku TT (CC) | |
| | | An Post Rás (2.2) |
| 3 | | Klassement |
| 9 | | Berg |
| 24-05 | | 3 | Stage 8Drogheda - Skerries (132.0km) | 132.0km |
| 23-05 | | 3 | Stage 7Ballinamore - Drogheda (142.0km) | 142.0km |
| 22-05 | | 3 | Stage 6Ballina - Ballinamore (160.0km) | 160.0km |
| 21-05 | 13 | 3 | Stage 5Newport - Ballina (142.0km) | 142.0km |
| 20-05 | 7 | 4 | Stage 4Bearna - Newport (155.0km) | 155.0km |
| 19-05 | | 10 | Stage 3Tipperary - Bearna (155.0km) | 155.0km |
| 18-05 | | 10 | Stage 2Carlow - Tipperary (137.0km) | 137.0km |
| 17-05 | 9 | 7 | Stage 1Dunboyne - Carlow (154.0km) | 154.0km |
| | | Tour d'Azerbaïdjan (2.1) |
| 39 | | Klassement |
| 10-05 | 41 | 39 | Stage 5Baku - Baku (143.0km) | 143.0km |
| 08-05 | 54 | 46 | Stage 3Qabala - Qabala (177.0km) | 177.0km |
| 07-05 | 53 | 47 | Stage 2Baku - Ismayilli (187.0km) | 187.0km |
| 06-05 | 31 | 31 | Stage 1Baku - Sumqayit (154.0km) | 154.0km |
| 11-04 | DNF | | Ronde van Vlaanderen U23 (1.NCUP) | 176.0km |
| 04-04 | DNF | | Volta Limburg Classic (1.1) | 198.0km |
| 20-03 | 58 | | Handzame Classic (1.1) | 198.0km |
| 19-02 | 7 | | UCI Cycling World Championships - Track (Individual Pursuit) (CM) | |
| | | Etoile de Bessèges (2.1) |
| 87 | | Klassement |
| 08-02 | 42 | 87 | Stage 5Alès - Alès (12.0km) | 12.0km |
| 07-02 | 132 | 101 | Stage 4Laudun-l'Ardoise - Laudun-l'Ardoise (156.0km) | 156.0km |
| 06-02 | 33 | 63 | Stage 3Bessèges - Bessèges (153.0km) | 153.0km |
| 05-02 | 85 | 74 | Stage 2Nîmes - Les Fumades (155.0km) | 155.0km |
| 04-02 | 58 | 59 | Stage 1Bellegarde - Beaucaire (152.0km) | 152.0km |
| 01-02 | 108 | | Grand Prix Cycliste la Marseillaise (1.1) | |