| 28-09 | 68 | | UCI World Championship Innsbruck U23 (CM) | 186.0km |
| 20-09 | DNF | | Coppa Sabatini - Gran Premio città di Peccioli (1.1) | |
| 19-09 | DNF | | Giro della Toscana - Memorial Alfredo Martini (1.1) | |
| | | Ovo Energy Tour of Britain (2.HC) |
| 37 | | Klassement |
| 09-09 | 88 | 37 | Stage 8London - London (77.0km) | 77.0km |
| 08-09 | 98 | | Stage 7West Bridgford - Mansfield (215.0km) | 215.0km |
| 07-09 | 19 | 26 | Stage 6Barrow-in-Furness - Whinlatter Pass (168.0km) | 168.0km |
| 06-09 | | 33 | Stage 5Cockermouth - Whinlatter (14.0km) | 14.0km |
| 05-09 | 85 | 32 | Stage 4Nuneaton - Royal Leamington Spa (183.0km) | 183.0km |
| 04-09 | 63 | 32 | Stage 3Bristol - Bristol (128.0km) | 128.0km |
| 03-09 | 26 | 30 | Stage 2Cranbrook - Barnstaple (174.0km) | 174.0km |
| 02-09 | 81 | 81 | Stage 1Pembrey Country Park - The City of Newport (174.0km) | 174.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 80 | | Klassement |
| 26-08 | 114 | 80 | Stage 10Val-d'Isère - Saint-Colomban-des-Villards (149.0km) | 149.0km |
| 25-08 | 86 | 55 | Stage 9Séez - Val-d'Isère (83.0km) | 83.0km |
| 24-08 | 28 | 43 | Stage 8La Bâthie - Crest-Voland Cohennoz (81.0km) | 81.0km |
| 23-08 | 78 | 68 | Stage 7Moûtiers - Méribel (34.0km) | 34.0km |
| 22-08 | 87 | 46 | Stage 6Le Blanc - Cérilly (181.0km) | 181.0km |
| 21-08 | 41 | 49 | Stage 5Beaugency - Levroux (135.0km) | 135.0km |
| 20-08 | | 67 | Stage 4Orléans - Orléans (20.0km) | 20.0km |
| 19-08 | 73 | 47 | Stage 3Le Lude - Châteaudun (170.0km) | 170.0km |
| 18-08 | 53 | 43 | Stage 2Dréfféac - Chateaubriant (144.0km) | 144.0km |
| 17-08 | 43 | 43 | Stage 1Grand Champ - Elven (138.0km) | 138.0km |
| | | Tour Alsace (2.2) |
| 83 | | Klassement |
| 33 | | Punten |
| 05-08 | 10 | 83 | Stage 5Riedisheim - Dannemarie (145.0km) | 145.0km |
| 04-08 | 58 | 96 | Stage 4Ribeauville - Lac Blanc (165.0km) | 165.0km |
| 03-08 | 105 | 128 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 02-08 | 144 | 141 | Stage 2Champ du Feu - Selestat (147.0km) | 147.0km |
| 01-08 | 7 | 7 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Baby Giro (2.2U) |
| 5 | | Klassement |
| 6 | | Punten |
| 4 | | Berg |
| 16-06 | 12 | 5 | Stage 9bSan Pietro di Feletto - San Pietro di Feletto (22.0km) | 22.0km |
| 16-06 | 10 | 3 | Stage 9aConegliano - Valdobbiadene (72.0km) | 72.0km |
| 15-06 | 15 | 6 | Stage 8Levico Terme - Asiago (157.0km) | 157.0km |
| 14-06 | 1 | 3 | Stage 7Schio - Pian Delle Fugazze (136.0km) | 136.0km |
| 13-06 | 30 | 3 | Stage 6Dimaro - Pergine Valsugana (120.0km) | 120.0km |
| 12-06 | 2 | 1 | Stage 5Darfo Boario Terme - Malga Folgarida di Dimaro (127.0km) | 127.0km |
| 11-06 | 6 | 4 | Stage 4Mornico Al Serio - Passo Manivia (127.0km) | 127.0km |
| 10-06 | 29 | 18 | Stage 3Rio Saliceto - Mornico Al Serio (164.0km) | 164.0km |
| 09-06 | 11 | 18 | Stage 2Nonantola - Sestola (138.0km) | 138.0km |
| 08-06 | 47 | 47 | Stage 1Riccione - Forlì (137.0km) | 137.0km |
| 07-06 | 30 | 30 | PrologueForlì - Forlì (4.0km) | 4.0km |
| | | Ronde de l'Isard (2.2U) |
| 1 | | Klassement |
| 1 | | Berg |
| 20-05 | 9 | 1 | Stage 4Salies-du-Salat - Saint-Girons (152.0km) | 152.0km |
| 19-05 | 26 | 1 | Stage 3Lévignac - Boulogne-sur-Gesse (153.0km) | 153.0km |
| 18-05 | 1 | 1 | Stage 2Fonsorbes - Goulier Neige (154.0km) | 154.0km |
| 17-05 | 1 | 1 | Stage 1Lorp - Eycheil (125.0km) | 125.0km |
| 06-05 | 50 | | Flèche Ardennaise (1.2) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 24 | | Klassement |
| 17 | | Punten |
| 01-05 | 11 | 24 | Stage 7Saint-Pôtan - Dinan (145.0km) | 145.0km |
| 30-04 | 66 | 32 | Stage 6Plancoët - Dol-de-Bretagne (151.0km) | 151.0km |
| 29-04 | 13 | 30 | Stage 5Colpo - Plancoët (155.0km) | 155.0km |
| 28-04 | 10 | 29 | Stage 4Clohars-Carnoët - Grand Champ (162.0km) | 162.0km |
| 27-04 | 73 | 49 | Stage 3Baden - Clohars-Carnoët (181.0km) | 181.0km |
| 26-04 | 54 | 55 | Stage 2Louisfert - Plougoumelen (180.0km) | 180.0km |
| 25-04 | 34 | 37 | Stage 1Chateaubriant - Louisfert (159.0km) | 159.0km |
| 14-04 | 9 | | Liège - Bastogne - Liège U23 (1.2U) | |
| | | Circuit des Ardennes International (2.2) |
| 08-04 | 104 | 71 | Stage 3aDonchery - Vivier-au-Court (79.0km) | 79.0km |
| 08-04 | 79 | 63 | Stage 3bCharleville-Mézières - Charleville-Mézières (104.0km) | 104.0km |
| 07-04 | 91 | 70 | Stage 2Beauraing - Givet (175.0km) | 175.0km |
| 06-04 | 72 | 72 | Stage 1Bazeilles - Bazeilles (160.0km) | 160.0km |
| | | Tour de Normandie (2.2) |
| 72 | | Klassement |
| 25-03 | 99 | 72 | Stage 7La Haye - Caen (151.0km) | 151.0km |
| 24-03 | 122 | 69 | Stage 6Granville - La Haye (158.0km) | 158.0km |
| 23-03 | 73 | 49 | Stage 5Villers-Bocage - Bagnoles de l'Orne (174.0km) | 174.0km |
| 22-03 | 60 | 57 | Stage 4Evrecy - Argentan (152.0km) | 152.0km |
| 21-03 | 98 | 74 | Stage 3Yvetot - Elbeuf (138.0km) | 138.0km |
| 20-03 | 51 | 57 | Stage 2Évreux - Forges-les-Eaux (156.0km) | 156.0km |
| 19-03 | 83 | 84 | Stage 1Saint-Pierre-en-Auge - Le Neubourg (150.0km) | 150.0km |
| 11-03 | 59 | | Rabobank Dorpenomloop Rucphen (1.2) | |