| 11-10 | 38 | | Coppa Agostoni (1.1) | 180.0km |
| 09-10 | 93 | | Il Lombardia (1.UWT) | 239.0km |
| 06-10 | DNF | | Milano - Torino (1.Pro) | 190.0km |
| 05-10 | DNF | | Tre Valli Varesine (1.Pro) | 196.0km |
| 19-09 | 51 | | Eschborn-Frankfurt (1.UWT) | 187.0km |
| 15-09 | 52 | | Grand Prix de Wallonie (1.Pro) | 208.0km |
| 12-09 | 16 | | UEC Road European Championships (CC) | 179.0km |
| 05-09 | 34 | | Tour du Doubs (1.1) | |
| 04-09 | 60 | | Tour du Jura Cycliste (1.2) | 181.0km |
| 03-09 | 50 | | Classic Grand Besançon Doubs (1.1) | 172.0km |
| 29-08 | 51 | | Bretagne Classic - Ouest-France (1.UWT) | 250.0km |
| | | Tour du Limousin (2.1) |
| 29 | | Klassement |
| 15 | | Berg |
| 20-08 | 58 | 29 | Stage 4Sauviat-sur-Vige - Limoges (169.0km) | 169.0km |
| 19-08 | 2 | 29 | Stage 3Bugeat - Lubersac (184.0km) | 184.0km |
| 18-08 | 38 | 41 | Stage 2Agonac - Payzac (172.0km) | 172.0km |
| 17-08 | 57 | 57 | Stage 1Isle - Sainte-Feyre (183.0km) | 183.0km |
| 15-08 | 7 | | La Polynormande (1.1) | 168.0km |
| 24-07 | DNS | | Olympic Games (OS) | 234.0km |
| | | Tour de France (2.UWT) |
| 62 | | Klassement |
| 18-07 | 120 | 62 | Stage 21Chatou - Paris (108.0km) | 108.0km |
| 17-07 | 133 | 62 | Stage 20Libourne - Saint-Émilion (30.0km) | 30.0km |
| 16-07 | 98 | 61 | Stage 19Mourenx - Libourne (207.0km) | 207.0km |
| 15-07 | 58 | 59 | Stage 18Pau - Luz-Ardiden (129.0km) | 129.0km |
| 14-07 | 41 | 59 | Stage 17Muret - Saint-Lary-Soulan (Pla d'Adet) (178.0km) | 178.0km |
| 13-07 | 57 | 66 | Stage 16El Pas de la Casa - Saint-Gaudens (169.0km) | 169.0km |
| 11-07 | 52 | 66 | Stage 15Céret - Andorra La Vella (191.0km) | 191.0km |
| 10-07 | 75 | 69 | Stage 14Carcassonne - Quillan (183.0km) | 183.0km |
| 09-07 | 103 | 65 | Stage 13Nîmes - Carcassonne (219.0km) | 219.0km |
| 08-07 | 97 | 67 | Stage 12Saint-Paul-Trois-Châteaux - Nîmes (159.0km) | 159.0km |
| 07-07 | 50 | 64 | Stage 11Sorgues - Malaucène (198.0km) | 198.0km |
| 06-07 | 114 | 69 | Stage 10Albertville - Valence (190.0km) | 190.0km |
| 04-07 | 126 | 66 | Stage 9Cluses - Tignes (144.0km) | 144.0km |
| 03-07 | 48 | 54 | Stage 8Oyonnax - Le Grand-Bornand (150.0km) | 150.0km |
| 02-07 | 63 | 64 | Stage 7Vierzon - Le Creusot (249.0km) | 249.0km |
| 01-07 | 133 | 72 | Stage 6Tours - Châteauroux (160.0km) | 160.0km |
| 30-06 | 110 | 66 | Stage 5Change - Laval (27.0km) | 27.0km |
| 29-06 | 104 | 65 | Stage 4Redon - Fougères (150.0km) | 150.0km |
| 28-06 | 128 | 67 | Stage 3Lorient - Noyal-Pontivy (182.0km) | 182.0km |
| 27-06 | 64 | 63 | Stage 2Perros-Guirec - Mûr-de-Bretagne (183.0km) | 183.0km |
| 26-06 | 76 | 76 | Stage 1Brest - Landerneau (197.0km) | 197.0km |
| 20-06 | DNF | | National Road Championships - Germany (CN) | 180.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 49 | | Klassement |
| 06-06 | 42 | 49 | Stage 8La Léchère-les-Bains - Les Gets (147.0km) | 147.0km |
| 05-06 | 53 | 62 | Stage 7Saint-Martin-le-Vinoux - La Plagne (171.0km) | 171.0km |
| 04-06 | 124 | 73 | Stage 6Loriol-sur-Drôme - Le Sappey-en-Chartreuse (167.0km) | 167.0km |
| 03-06 | 62 | 53 | Stage 5Saint-Chamond - Saint-Vallier (174.0km) | 174.0km |
| 02-06 | 103 | 60 | Stage 4Firminy - Roche-la-Molière (16.0km) | 16.0km |
| 01-06 | 112 | 56 | Stage 3Langeac - Saint-Haon-le-Vieux (172.0km) | 172.0km |
| 31-05 | 56 | 50 | Stage 2Brioude - Saugues (172.0km) | 172.0km |
| 30-05 | 80 | 80 | Stage 1Issoire - Issoire (181.0km) | 181.0km |
| 24-05 | DNF | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 163.0km |
| 25-04 | 59 | | Liège-Bastogne-Liège (1.UWT) | 259.0km |
| 21-04 | 76 | | La Flèche Wallonne (1.UWT) | 192.0km |
| 18-04 | 42 | | Amstel Gold Race (1.UWT) | 218.0km |
| | | Itzulia Basque Country (2.UWT) |
| 10-04 | DNF | | Stage 6Ondarroa - Eibar (111.0km) | 111.0km |
| 09-04 | 119 | 35 | Stage 5Hondarribia - Ondarroa (160.0km) | 160.0km |
| 08-04 | 13 | 32 | Stage 4Vitoria-Gasteiz - Hondarribia (189.0km) | 189.0km |
| 07-04 | 66 | 58 | Stage 3Amurrio - Ermualde (167.0km) | 167.0km |
| 06-04 | 81 | 69 | Stage 2Zalla - Sestao (154.0km) | 154.0km |
| 05-04 | 48 | 48 | Stage 1Bilbao - Bilbao (13.0km) | 13.0km |
| 03-04 | 23 | | Gran Premio Miguel Indurain (1.Pro) | |
| 28-03 | 58 | | Cholet - Pays de la Loire (1.1) | 201.0km |
| | | Paris-Nice (2.UWT) |
| 24 | | Klassement |
| 11 | | Berg |
| 14-03 | 27 | 24 | Stage 8Le Plan-du-Var - Levens (93.0km) | 93.0km |
| 13-03 | 28 | 24 | Stage 7Le Broc - Valdeblore La Colmiane (119.0km) | 119.0km |
| 12-03 | 14 | 16 | Stage 6Brignoles - Biot (202.0km) | 202.0km |
| 11-03 | 59 | 17 | Stage 5Vienne - Bollène (203.0km) | 203.0km |
| 10-03 | 22 | 17 | Stage 4Châlon-sur-Saône - Chiroubles (188.0km) | 188.0km |
| 09-03 | 64 | 58 | Stage 3Gien - Gien (14.0km) | 14.0km |
| 08-03 | 103 | 99 | Stage 2Oinville-sur-Montcient - Amilly (188.0km) | 188.0km |
| 07-03 | 87 | 87 | Stage 1Saint-Cyr-l'École - Saint-Cyr-l'École (166.0km) | 166.0km |
| 28-02 | 14 | | Royal Bernard Drome Classic (1.Pro) | 179.0km |
| 27-02 | 23 | | Faun-Ardèche Classic (1.Pro) | 171.0km |
| | | 53ème Tour des Alpes Maritimes et du Var
(2.1) |
| 40 | | Klassement |
| 21-02 | 39 | 40 | Stage 3Blausasc - Blausasc (136.0km) | 136.0km |
| 20-02 | 61 | 47 | Stage 2Fayence - Fayence (175.0km) | 175.0km |
| 19-02 | 50 | 50 | Stage 1Biot - Gourdon (186.0km) | 186.0km |