29.09 | DNF | | | World Championships ME - Road Race (WC) | 272.2 | | | more |
25.09 | 46 | | | World Championships ME - ITT (WC) | 57.9 | 10 | | more |
22.09 | 8 | | | World Championships - TTT (WC) | 57.2 | | | more |
15.09 | 76 | | | Grand Prix Cycliste de Montréal (WT) | 205.7 | 5 | | more |
13.09 | DNF | | | Grand Prix Cycliste de Québec (WT) | 201.6 | | | more |
19.08 › 25.0819-25/8 | | | | USA Pro Challenge (2.HC) | | | | more |
| 20 | | | Mountains classificationMountains classification | | | | |
| 45 | | | Points classificationPoints classification | | | | |
| 40 | | | General classificationGeneral classification | | | | |
25.08 | 51 | | | S7Stage 7 - Denver › Denver | 117.4 | | | |
24.08 | 78 | 41 | | S6Stage 6 - Loveland › Fort Collins | 185.4 | | | |
23.08 | 2 | 40 | | S5 (ITT)Stage 5 (ITT) - Vail › Vail | 16.1 | 18 | 14 | |
22.08 | 58 | 48 | | S4Stage 4 - Steamboat Springs › Beaver Creek | 165.6 | | | |
21.08 | 63 | 46 | | S3Stage 3 - Breckenridge › Steamboat Springs | 170.8 | | | |
20.08 | 42 | 48 | | S2Stage 2 - Aspen › Breckenridge | 202.9 | | | |
19.08 | 90 | 90 | | S1Stage 1 - Aspen › Aspen | 102.7 | | | |
27.07 | 96 | | | Clasica Ciclista San Sebastian (WT) | 232 | 5 | | more |
29.06 › 21.0729-21/6 | | | | Tour de France (WT) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 21 | | | Mountains classificationMountains classification | | | | |
| 36 | | | Points classificationPoints classification | | | | |
| 10 | | | General classificationGeneral classification | | 200 | 50 | |
21.07 | 39 | | | S21Stage 21 - Château de Versailles › Paris | 118 | | | |
20.07 | 6 | 10 | | S20Stage 20 - Annecy › Le Semnoz | 125 | 26 | | |
19.07 | 26 | 12 | | S19Stage 19 - Le Bourg d'Oisans › Le Grand Bornand | 204.5 | | | |
18.07 | 14 | 12 | | S18Stage 18 - Gap › Alpe d'Huez | 172.5 | 2 | | |
17.07 | 9 | 13 | | S17 (ITT)Stage 17 (ITT) - Embrun › Chorges | 32 | 14 | | |
16.07 | 35 | 13 | | S16Stage 16 - Vaison-la-Romaine › Gap | 168 | | | |
14.07 | 25 | 13 | | S15Stage 15 - Givors › Mont Ventoux | 242.5 | | | |
13.07 | 3 | 12 | | S14Stage 14 - Saint-Pourçain-sur-Sioule › Lyon | 191 | 50 | 6 | |
12.07 | 30 | 17 | | S13Stage 13 - Tours › Saint-Amand-Montrond | 173 | | | |
11.07 | 23 | 24 | | S12Stage 12 - Fougères › Tours | 218 | | | |
10.07 | 12 | 24 | | S11 (ITT)Stage 11 (ITT) - Avranches › Mont-Saint-Michel | 33 | 6 | | |
09.07 | 127 | 25 | | S10Stage 10 - Saint-Gildas-des-Bois › Saint-Malo | 197 | | | |
07.07 | 33 | 22 | | S9Stage 9 - Saint Girons › Bagnéres de Bigorre | 168.5 | | | |
06.07 | 16 | 12 | | S8Stage 8 - Castres › Ax-3 Domaines | 195 | | | |
05.07 | 31 | 13 | | S7Stage 7 - Montpellier › Albi | 205.5 | | | |
04.07 | 28 | 13 | | S6Stage 6 - Aix-en-Provence › Montpellier | 176.5 | | | |
03.07 | 37 | 16 | | S5Stage 5 - Cagnes-sur-Mer › Marseille | 228.5 | | | |
02.07 | 5 | 18 | | S4 (TTT)Stage 4 (TTT) - Nice › Nice | 25 | 10 | | |
01.07 | 58 | 53 | | S3Stage 3 - Ajaccio › Calvi | 145.5 | | | |
30.06 | 69 | 67 | | S2Stage 2 - Bastia › Ajaccio | 156 | | | |
29.06 | 110 | 110 | | S1Stage 1 - Porto-Vecchio › Bastia | 213 | | | |
02.06 › 09.062-9/6 | | | | Critérium du Dauphiné (WT) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 29 | | | Mountains classificationMountains classification | | | | |
| 17 | | | Points classificationPoints classification | | | | |
| 28 | | | General classificationGeneral classification | | 7 | | |
09.06 | 3 | | | S8Stage 8 - Sisteron › Risoul | 152 | 18 | 2 | |
08.06 | 25 | 47 | | S7Stage 7 - Pont-de-Claix › Superdévoluy | 184 | | | |
07.06 | 20 | 76 | | S6Stage 6 - La Léchère › Grenoble | 143 | | | |
06.06 | 42 | 91 | | S5Stage 5 - Grésy-sur-Aix › Valmorel | 139 | | | |
05.06 | 37 | 128 | | S4 (ITT)Stage 4 (ITT) - Villars-les-Dombes › Parc des Oiseaux | 32.5 | | | |
04.06 | 145 | 134 | | S3Stage 3 - Ambérieu-en-Bugey › Tarare | 167 | | | |
03.06 | 143 | 126 | | S2Stage 2 - Châtel › Oyonnax | 183 | | | |
02.06 | 106 | 106 | | S1Stage 1 - Champéry › Champéry | 121 | | | |
23.04 › 28.0423-28/4 | | | | Tour de Romandie (WT) | | | | more |
| 21 | | | Mountains classificationMountains classification | | | | |
| 16 | | | General classificationGeneral classification | | 36 | | |
28.04 | 20 | | | S5 (ITT)Stage 5 (ITT) - Genève › Genève | 18.6 | | | |
27.04 | 18 | 15 | | S4Stage 4 - Marly › Les Diablerets | 182 | | | |
26.04 | 52 | 2 | | S3Stage 3 - Payerne › Payerne | 181 | | | |
25.04 | 33 | 2 | | S2Stage 2 - Prilly/Ouest lausannois › Granges | 190.3 | | | |
24.04 | 36 | 2 | | S1Stage 1 - Saint-Maurice › Renens/Ouest lausannois | 176.4 | | | |
23.04 | 2 | 2 | | ProloguePrologue - Le Châble › Bruson | 7.45 | 30 | 4 | |
01.04 › 06.041-6/4 | | | | Vuelta Ciclista al País Vasco (2.UWT) | | | | more |
| 22 | | | Mountains classificationMountains classification | | | | |
| 22 | | | Points classificationPoints classification | | | | |
| 29 | | | General classificationGeneral classification | | 6 | | |
06.04 | 11 | | | S6 (ITT)Stage 6 (ITT) - Beasain › Beasain | 24 | | | |
05.04 | 49 | 30 | | S5Stage 5 - Eibar › Beasain | 166.1 | | | |
04.04 | 19 | 22 | | S4Stage 4 - Trapagaran › Eibar/Arrate | 151.6 | | | |
03.04 | 32 | 29 | | S3Stage 3 - Vitoria/Gasteiz › Trapagaran/La Lejana | 164.7 | | | |
02.04 | 26 | 23 | | S2Stage 2 - Elgoibar › Vitoria/Gasteiz | 170.2 | | | |
01.04 | 22 | 22 | | S1Stage 1 - Elgoibar › Elgoibar | 156.5 | | | |
30.03 | DNF | | | Gran Premio Miguel Indurain (1.1) | 179.3 | | | more |
23.03 › 24.0323-24/3 | | | | Critérium International (2.HC) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 5 | | | Points classificationPoints classification | | | | |
| 6 | | | General classificationGeneral classification | | 60 | 20 | |
24.03 | 6 | | | S3Stage 3 - Porto-Vecchio › Col de l’Ospedale | 176 | 3 | 5 | |
23.03 | 5 | 5 | | S2 (ITT)Stage 2 (ITT) - Porto-Vecchio › Porto-Vecchio | 7 | 4 | 6 | |
23.03 | 30 | 33 | | S1Stage 1 - Porto-Vecchio › Porto-Vecchio | 89 | | | |
03.03 › 10.033-10/3 | | | | Paris - Nice (2.UWT) | | | | more |
| 1 | | | Youth classificationYouth classification | | | | |
| 6 | | | Mountains classificationMountains classification | | | | |
| 2 | | | Points classificationPoints classification | | | | |
| 2 | | | General classificationGeneral classification | | 190 | 80 | |
10.03 | 2 | | | S7 (ITT)Stage 7 (ITT) - Nice › Col d'Èze | 9.6 | 30 | 4 | |
09.03 | 22 | 2 | | S6Stage 6 - Manosque › Nice | 220 | | | |
08.03 | 3 | 2 | | S5Stage 5 - Châteauneuf-du-Pape › La Montagne de Lure | 176 | 18 | 2 | |
07.03 | 6 | 1 | | S4Stage 4 - Brioude › Saint-Vallier | 199.5 | 7 | | |
06.03 | 1 | 1 | | S3Stage 3 - Châtel-Guyon › Brioude | 170.5 | 50 | 6 | |
05.03 | 20 | 56 | | S2Stage 2 - Vimory › Cérilly | 200.5 | | | |
04.03 | 39 | 60 | | S1Stage 1 - Saint-Germain-en-Laye › Nemours | 195 | | | |
03.03 | 76 | 76 | | ProloguePrologue - Houilles › Houilles | 2.9 | | | |
06.02 › 10.026-10/2 | | | | Tour Méditerranéen Cycliste Professionnel (2.1) | | | | more |
09.02 | DNS | | | S4Stage 4 - Rousset › Toulon (Mont Faron) | 145 | | | |
07.02 | 11 | 11 | | S2 (ITT)Stage 2 (ITT) - Cap d'Agde › Sete (Mont Saint Clair) | 24 | | | |
06.02 | 33 | 33 | | S1Stage 1 - Limoux › Gruissan | 146.5 | | | |