20.10 | 9 | | | Utsunomiya Japan Cup Road Race (1.Pro) | 144.2 | 26 | 40 | more |
19.10 | 13 | | | Japan Cup Criterium (NAT) | 33.75 | 40 | | more |
12.10 › 14.1012-14/10 | | | | Tour de Kyushu (2.1) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 13 | | | Mountains classificationMountains classification | | | | |
| 3 | | | Points classificationPoints classification | | | | |
| 2 | | | General classificationGeneral classification | | 70 | 85 | |
14.10 | 3 | | | S3Stage 3 - Okagaki › Munakata | 140.48 | 7 | 3 | |
13.10 | 3 | 2 | | S2Stage 2 - Minamioguni › Minamiaso | 108.46 | 7 | 3 | |
12.10 | 2 | 2 | | S1Stage 1 - Beppu › Hita | 137.72 | 12 | 5 | |
11.10 | 1 | | | Tour de Kyushu Kokura Castle Criterium (NAT) | 45 | 125 | | more |
15.09 | DNF | | | Grand Prix Cycliste de Montréal (1.UWT) | 209.1 | | | more |
13.09 | 38 | | | Grand Prix Cycliste de Québec (1.UWT) | 201.6 | 5 | 10 | more |
08.09 | 78 | | | GP Industria & Artigianato (1.Pro) | 168.8 | | | more |
25.08 | 30 | | | Bretagne Classic - Ouest-France (1.UWT) | 259.8 | 5 | 16 | more |
12.08 › 18.0812-18/8 | | | | Tour de Pologne (2.UWT) | | | | more |
| 32 | | | Points classificationPoints classification | | | | |
| 36 | | | General classificationGeneral classification | | 5 | 8 | |
18.08 | 118 | | | S7Stage 7 - Wieliczka › Kraków | 142.1 | | | |
17.08 | 48 | 35 | | S6Stage 6 - Wadowice › Bukovina Resort | 183.2 | | | |
16.08 | 132 | 36 | | S5Stage 5 - Katowice › Katowice | 187.6 | | | |
15.08 | 127 | 22 | | S4Stage 4 - Kudowa-Zdrój › Prudnik | 195.3 | | | |
14.08 | 31 | 24 | | S3Stage 3 - Wałbrzych › Duszniki-Zdrój | 156.5 | | | |
13.08 | 42 | 20 | | S2 (ITT)Stage 2 (ITT) - Mysłakowice › Karpacz | 15.4 | | | |
12.08 | 3 | 3 | | S1Stage 1 - Wrocław › Karpacz | 156.1 | 18 | 25 | |
23.06 | DNS | | | National Championships Great Britain ME - Road Race (NC) | 182 | | | more |
02.06 › 09.062-9/6 | | | | Critérium du Dauphiné (2.UWT) | | | | more |
07.06 | DNS | | | S6Stage 6 - Hauterives › Le Collet d'Allevard | 174.1 | | | |
06.06 | NR | 20 | | S5Stage 5 - Amplepuis › Saint-Priest | 167 | | | |
05.06 | 29 | 20 | | S4 (ITT)Stage 4 (ITT) - Saint-Germain-Laval › Neulise | 34.4 | | | |
04.06 | 3 | 6 | | S3Stage 3 - Celles-sur-Durolle › Les Estables | 181.7 | 18 | 30 | |
03.06 | 7 | 40 | | S2Stage 2 - Gannat › Col de la Loge | 142 | 4 | 10 | |
02.06 | 136 | 136 | | S1Stage 1 - Saint-Pourçain-sur-Sioule › Saint-Pourçain-sur-Sioule | 172.5 | | | |
29.05 | 9 | | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 168.2 | 16 | 25 | more |
01.05 | 4 | | | Eschborn-Frankfurt (1.UWT) | 201.5 | 90 | 175 | more |
14.04 | 114 | | | Amstel Gold Race (1.UWT) | 253.6 | 5 | | more |
10.04 | 83 | | | De Brabantse Pijl - La Flèche Brabançonne ME (1.Pro) | 195.2 | | | more |
07.04 | DNF | | | Paris-Roubaix (1.UWT) | 259.7 | | | more |
02.04 › 05.042-5/4 | | | | Région Pays de la Loire Tour (2.1) | | | | more |
| 3 | | | Youth classificationYouth classification | | | | |
| 17 | | | Points classificationPoints classification | | | | |
| 22 | | | General classificationGeneral classification | | | 3 | |
05.04 | 28 | | | S4Stage 4 - Marolles-les-Braults › Le Mans | 174.9 | | | |
04.04 | 19 | 21 | | S3Stage 3 - Segré-en-Anjou-Bleu › Château-Gontier | 159.8 | | | |
03.04 | 4 | 25 | | S2Stage 2 - Châteaubriant › Saumur | 162.1 | 5 | | |
02.04 | 62 | 62 | | S1Stage 1 - Fontenay-le-Comte › Saint-Jean-de-Monts | 210.5 | | | |
30.03 | 87 | | | Gran Premio Miguel Indurain (1.Pro) | 198.1 | | | more |
19.03 › 23.0319-23/3 | | | | Settimana Internazionale Coppi e Bartali (2.1) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 6 | | | Points classificationPoints classification | | | | |
| 30 | | | General classificationGeneral classification | | | | |
23.03 | 2 | | | S5Stage 5 - Forlì › Forlì | 157.9 | 12 | 5 | |
22.03 | 4 | 37 | | S4Stage 4 - Brisighella › Brisighella | 150.7 | 5 | | |
21.03 | 21 | 54 | | S3Stage 3 - Riccione › Riccione | 132.2 | | | |
20.03 | 62 | 61 | | S2Stage 2 - Riccione › Sogliano al Rubicone | 156.5 | | | |
19.03 | 13 | 13 | | S1Stage 1 - Pesaro › Pesaro | 109.7 | | | |
13.03 | 106 | | | Milano - Torino (1.Pro) | 177 | | | more |
28.02 | 43 | | | Trofeo Laigueglia (1.Pro) | 202 | | | more |
22.02 › 25.0222-25/2 | | | | O Gran Camiño - The Historical Route (2.1) | | | | more |
| 21 | | | Youth classificationYouth classification | | | | |
| 64 | | | General classificationGeneral classification | | | | |
25.02 | 61 | | | S4Stage 4 - Ponteareas › Tui | 132 | | | |
24.02 | 57 | 69 | | S3Stage 3 - Xinzo de Limia › Castelo de Ribadavia | 173.2 | | | |
23.02 | 90 | 90 | | S2Stage 2 - Taboada › Chantada | 151.2 | | | |
22.02 | 81 | 81 | | S1 (ITT)Stage 1 (ITT) - A Coruña › A Coruña | 14.8 | | | |
31.01 › 04.0231-4/1 | | | | Etoile de Bessèges - Tour du Gard (2.1) | | | | more |
| 10 | | | Youth classificationYouth classification | | | | |
| 59 | | | General classificationGeneral classification | | | | |
04.02 | 35 | | | S5 (ITT)Stage 5 (ITT) - Alès › Alès | 10.645 | | | |
03.02 | 27 | 62 | | S4Stage 4 - Méjannes-le-Clap › Méjannes-le-Clap | 158.48 | | | |
02.02 | 21 | 74 | | S3Stage 3 - Bessèges › Bessèges | 161.11 | | | |
01.02 | 116 | 116 | | S2Stage 2 - Marguerittes › Rousson | 163.58 | | | |
26.01 | 6 | | | Trofeo Serra Tramuntana (1.1) | 153.8 | 24 | 40 | more |
24.01 | 77 | | | Trofeo Calvià (1.1) | 150.1 | | | more |