| 01-10 | 40 | | Il Piccolo Lombardia (1.2U) | |
| | | Tour of Britain (2.Pro) |
| 50 | | Klassement |
| 33 | | Punten |
| 15 | | Berg |
| 10-09 | 59 | 50 | Stage 8Margam Country Park - Caerphilly (166.0km) | 166.0km |
| 09-09 | 48 | 54 | Stage 7Tewkesbury - Gloucester (170.0km) | 170.0km |
| 08-09 | 52 | 47 | Stage 6Southend-on-Sea - Harlow (146.0km) | 146.0km |
| 07-09 | 46 | 49 | Stage 5Felixstowe - Felixstowe (192.0km) | 192.0km |
| 06-09 | 59 | 52 | Stage 4Sherwood Forest - Newark-on-Trent (166.0km) | 166.0km |
| 05-09 | 42 | 53 | Stage 3Goole - Beverley (154.0km) | 154.0km |
| 04-09 | 66 | 71 | Stage 2Wrexham - Wrexham (109.0km) | 109.0km |
| 03-09 | 72 | 72 | Stage 1Altrincham - Manchester (163.0km) | 163.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 21-08 | 146 | 143 | Stage 2Nozay - Château-Chinon (189.0km) | 189.0km |
| 20-08 | 121 | 124 | Stage 1Carnac - La Gacilly (140.0km) | 140.0km |
| 12-08 | 9 | | UCI World Championship Glasgow U23 (CM) | 168.0km |
| | | Tour ALSACE (2.2) |
| 29 | | Klassement |
| 30-07 | 18 | 29 | Stage 4Ribeauville - Cernay (139.0km) | 139.0km |
| 29-07 | 40 | 35 | Stage 3Tagolsheim - Altkirch (197.0km) | 197.0km |
| 28-07 | 38 | 37 | Stage 2Vesoul - La Planche des Belles Filles (132.0km) | 132.0km |
| 27-07 | 14 | 13 | Stage 1Rust (Europapark) - Selestat (166.0km) | 166.0km |
| 26-07 | 5 | 11 | PrologueSausheim - Sausheim (4.0km) | 4.0km |
| 25-06 | 11 | | National Road Championships - Great Britain (CN) | |
| 21-06 | 2 | | National Road Championships - Great Britain TT U23 (CN) | |
| | | Giro d'Italia Giovani (2.2U) |
| 82 | | Klassement |
| 35 | | Punten |
| 26 | | Berg |
| 18-06 | 90 | 82 | Stage 8Tavagnacco - Trieste (131.0km) | 131.0km |
| 17-06 | 50 | 81 | Stage 7Possagno - Pian del Cansiglio (175.0km) | 175.0km |
| 16-06 | 112 | 99 | Stage 6Pergine Valsugana - Povegliano (166.0km) | 166.0km |
| 15-06 | 84 | 104 | Stage 5Cesano Maderno - Manerba del Garda (164.0km) | 164.0km |
| 14-06 | 71 | 106 | Stage 4Morbegno - Passo dello Stelvio (118.0km) | 118.0km |
| 13-06 | 172 | 116 | Stage 3Priocca - Magenta (146.0km) | 146.0km |
| 12-06 | 114 | 113 | Stage 2San Francesco al Campo - Cherasco (151.0km) | 151.0km |
| 11-06 | 36 | 36 | Stage 1Aglie - Aglie (9.0km) | 9.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 01-05 | DNS | | Stage 7Piré-Chancé - Châteaugiron (163.0km) | 163.0km |
| 29-04 | 44 | 12 | Stage 5Sérent - Louisfert (173.0km) | 173.0km |
| 28-04 | 15 | 12 | Stage 4Le Mené - Plumelec (183.0km) | 183.0km |
| 27-04 | 32 | 12 | Stage 3Trégunc - Le Quillio (191.0km) | 191.0km |
| 26-04 | 36 | 17 | Stage 2Sibiril - Melgven (172.0km) | 172.0km |
| 25-04 | 9 | 11 | Stage 1Plouescat - Saint-Pol-de-Léon (155.0km) | 155.0km |
| 15-04 | 12 | | Liège-Bastogne-Liège U23 (1.2U) | 174.0km |
| 11-04 | 40 | | G.P. Palio del Recioto - Trofeo C&F Resinatura Blocchi (1.2U) | |
| 10-04 | 8 | | Giro del Belvedere (1.2U) | 171.0km |
| | | Volta ao Alentejo (2.2) |
| 6 | | Klassement |
| 10 | | Punten |
| 26-03 | 8 | 6 | Stage 5Monforte - Évora (154.0km) | 154.0km |
| 25-03 | 10 | 6 | Stage 4Crato - Castelo de Vide (149.0km) | 149.0km |
| 24-03 | 16 | 5 | Stage 3Vendas Novas - Estremoz (191.0km) | 191.0km |
| 23-03 | 17 | 4 | Stage 2Castro Verde - Grandola (170.0km) | 170.0km |
| 22-03 | 3 | 3 | Stage 1Beja - Ourique (168.0km) | 168.0km |
| 19-03 | DNF | | Classica da Arrabida - Cyclin'Portugal (1.2) | 182.0km |
| | | O Gran Camiño (2.1) |
| 15 | | Klassement |
| 26-02 | 7 | 15 | Stage 4Novo Milladoiro - Santiago de Compostela (17.0km) | 17.0km |
| 25-02 | 19 | 26 | Stage 3Parque Natural Serra da Enciña da Lastra - Rubia (170.0km) | 170.0km |
| 24-02 | 34 | 34 | Stage 2A Guarda - Monte Trega (188.0km) | 188.0km |