| 01-10 | DNF | | Il Lombardia (1.UWT) | 240.0km |
| 28-09 | 33 | | Milano-Torino (1.HC) | 186.0km |
| 30-07 | 67 | | Clásica Ciclista San Sebastián (1.UWT) | 220.0km |
| | | Tour de France (WT) |
| 35 | | Standings |
| 105 | | Points |
| 36 | | Mountain |
| 24-07 | 135 | 35 | Stage 21Chantilly - Paris | 113.0km |
| 23-07 | 61 | 35 | Stage 20Megève - Morzine | 146.0km |
| 22-07 | 12 | 32 | Stage 19Albertville - Saint-Gervais Mont-Blanc | 146.0km |
| 21-07 | 35 | 38 | Stage 18Sallanches - Megève | 17.0km |
| 20-07 | 38 | 38 | Stage 17Bern - Finhaut-Emosson | 184.0km |
| 18-07 | 107 | 39 | Stage 16Moirans-en-Montagne - Bern | 206.0km |
| 17-07 | 95 | 38 | Stage 15Bourg-en-Bresse - Culoz | 159.0km |
| 16-07 | 151 | 30 | Stage 14Montélimar - Villars-les-Dombes | 208.0km |
| 15-07 | 54 | 29 | Stage 13Bourg-Saint-Andéol - La Caverne du Pont-d'Arc | 37.0km |
| 14-07 | 44 | 31 | Stage 12Montpellier - Mont Ventoux | 185.0km |
| 13-07 | 129 | 33 | Stage 11Carcassonne - Montpellier | 164.0km |
| 12-07 | 13 | 35 | Stage 10Escaldes-Engordany - Revel | 198.0km |
| 10-07 | 55 | 36 | Stage 9Vielha Val d'Aran - Andorra | 184.0km |
| 09-07 | 36 | 35 | Stage 8Pau - Bagnères-de-Luchon | 183.0km |
| 08-07 | 52 | 45 | Stage 7L'Isle-Jourdain - Lac de Payolle | 162.0km |
| 07-07 | 145 | 54 | Stage 6Arpajon-sur-Cère - Montauban | 187.0km |
| 06-07 | 75 | 49 | Stage 5Limoges - Le Lioran | 216.0km |
| 05-07 | 65 | 25 | Stage 4Limoges - Limoges | 232.0km |
| 04-07 | 56 | 25 | Stage 3Granville - Angers | 222.0km |
| 03-07 | 21 | 24 | Stage 2Saint-Lô - Cherbourg-Octeville | 182.0km |
| 02-07 | 114 | 114 | Stage 1Le Mont-Saint-Michel - Utah Beach Sainte-Marie-du-Mont | 188.0km |
| 25-06 | 16 | | National Road Championships - Spain (CN) | 194.0km |
| 23-06 | 10 | | National Road Championships - Spain TT (CN) | 41.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 12 | | Standings |
| 12-06 | 17 | 12 | Stage 7Le Pont-de-Claix - Superdévoluy | 151.0km |
| 11-06 | 16 | 12 | Stage 6La Rochette - Méribel | 141.0km |
| 10-06 | 14 | 14 | Stage 5La Ravoire - Vaujany | 140.0km |
| 09-06 | 64 | 17 | Stage 4Tain-l'Hermitage - Belley | 176.0km |
| 08-06 | 69 | 17 | Stage 3Boën-sur-Lignon - Tournon-sur-Rhône | 182.0km |
| 07-06 | 37 | 17 | Stage 2Crêches-sur-Saône - Chalmazel - Jeansagnière | 167.0km |
| 06-06 | 89 | 12 | Stage 1Cluses - Saint-Vulbas | 186.0km |
| 05-06 | 12 | 12 | PrologueLes Gets - Les Gets | 3.0km |
| | | Giro d'Italia (2.UWT) |
| 17-05 | DNF | | Stage 10Campi Bisenzio - Sestola | 216.0km |
| 15-05 | 20 | 8 | Stage 9Radda in Chianti - Greve in Chianti | 40.0km |
| 14-05 | 8 | 10 | Stage 8Foligno - Arezzo | 169.0km |
| 13-05 | 36 | 15 | Stage 7Sulmona - Foligno | 210.0km |
| 12-05 | 14 | 15 | Stage 6Ponte - Roccaraso | 165.0km |
| 11-05 | 17 | 16 | Stage 5Praia a Mare - Benevento | 233.0km |
| 10-05 | 20 | 16 | Stage 4Catanzaro - Praia a Mare | 191.0km |
| 08-05 | 48 | 43 | Stage 3Nijmegen - Arnhem | 189.0km |
| 07-05 | 40 | 63 | Stage 2Arnhem - Nijmegen | 190.0km |
| 06-05 | 67 | 67 | Stage 1Apeldoorn - Apeldoorn | 9.0km |
| | | Giro del Trentino (2.HC) |
| 1 | | Standings |
| 1 | | Mountain |
| 22-04 | 3 | 1 | Stage 4Malè - Clès | 160.0km |
| 21-04 | 6 | 1 | Stage 3Sillian - Mezzolombardo | 204.0km |
| 20-04 | 1 | 1 | Stage 2Arco - Anras | 220.0km |
| 19-04 | 2 | 9 | Stage 1Riva del Garda - Torbole sul Garda | 12.0km |
| | | Vuelta Ciclista al Pais Vasco (2.UWT) |
| 12 | | Standings |
| 10 | | Points |
| 16 | | Mountain |
| 09-04 | 28 | 12 | Stage 6Eibar - Eibar | 16.0km |
| 08-04 | 15 | 11 | Stage 5Orio - Arrate | 159.0km |
| 07-04 | 20 | 3 | Stage 4Lesaka - Orio | 165.0km |
| 06-04 | 37 | 1 | Stage 3Vitoria-Gasteiz - Lesaka | 193.0km |
| 05-04 | 1 | 1 | Stage 2Markina-Xemein - Baranbio-Garrastatxu | 174.0km |
| 04-04 | 45 | 45 | Stage 1Etxebarria - Markina-Xemein | 144.0km |
| 02-04 | DNF | | Gran Premio Miguel Indurain (1.1) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 11 | | Standings |
| 8 | | Mountain |
| 27-03 | 16 | 11 | Stage 4Pavullo nel Frignano - Pavullo nel Frignano | 163.0km |
| 26-03 | 90 | 13 | Stage 3Calderara di Reno - Crevalcore | 172.0km |
| 25-03 | 17 | 13 | Stage 2Riccione - Sogliano al Rubicone | 154.0km |
| 24-03 | 112 | 112 | Stage 1aGatteo - Gatteo | 95.0km |
| 24-03 | 8 | 25 | Stage 1bGatteo - Gatteo | 13.0km |