| | | Gree-Tour of Guangxi (2.UWT) |
| 29 | | Klassement |
| 21-10 | 55 | 29 | Stage 6Guilin - Guilin (169.0km) | 169.0km |
| 20-10 | 41 | 29 | Stage 5Liuzhou - Guilin (212.0km) | 212.0km |
| 19-10 | 33 | 32 | Stage 4Nanning - Mashan Nongla (152.0km) | 152.0km |
| 18-10 | 19 | 22 | Stage 3Nanning - Nanning (125.0km) | 125.0km |
| 17-10 | 19 | 20 | Stage 2Beihai - Qinzhou (145.0km) | 145.0km |
| 16-10 | 12 | 16 | Stage 1Beihai - Beihai (107.0km) | 107.0km |
| 20-09 | 5 | | Coppa Sabatini - Gran Premio città di Peccioli (1.1) | |
| 19-09 | 23 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | |
| 09-09 | 32 | | Grand Prix Cycliste de Montréal (1.UWT) | 195.0km |
| 07-09 | 12 | | Grand Prix Cycliste de Québec (1.UWT) | 201.0km |
| 02-09 | 36 | | GP de Fourmies / La Voix du Nord (1.HC) | |
| | | Deutschland Tour (2.1) |
| 11 | | Klassement |
| 19 | | Punten |
| 26-08 | 7 | 11 | Stage 4Lorsch - Stuttgart (200.0km) | 200.0km |
| 25-08 | 15 | 14 | Stage 3Trier - Merzig (176.0km) | 176.0km |
| 24-08 | 19 | 12 | Stage 2Bonn - Trier (210.0km) | 210.0km |
| 23-08 | 15 | 18 | Stage 1Koblenz - Bonn (154.0km) | 154.0km |
| | | Tour de France (2.UWT) |
| 17-07 | DNS | | Stage 10Annecy - Le Grand-Bornand (159.0km) | 159.0km |
| 15-07 | 164 | 63 | Stage 9Arras - Roubaix (154.0km) | 154.0km |
| 14-07 | 56 | 34 | Stage 8Dreux - Amiens (181.0km) | 181.0km |
| 13-07 | 56 | 35 | Stage 7Fougères - Chartres (231.0km) | 231.0km |
| 12-07 | 28 | 35 | Stage 6Brest - Mûr-de-Bretagne (181.0km) | 181.0km |
| 11-07 | 23 | 53 | Stage 5Lorient - Quimper (203.0km) | 203.0km |
| 10-07 | 62 | 76 | Stage 4La Baule - Sarzeau (192.0km) | 192.0km |
| 09-07 | 12 | 90 | Stage 3Cholet - Cholet (35.0km) | 35.0km |
| 08-07 | 57 | 127 | Stage 2Mouilleron-Saint-Germain - La Roche-sur-Yon (183.0km) | 183.0km |
| 07-07 | 132 | 132 | Stage 1Noirmoutier-en-l'Île - Fontenay-le-Comte (189.0km) | 189.0km |
| 01-07 | 29 | | National Road Championships - France (CN) | 253.0km |
| | | Route d'Occitanie (2.1) |
| 16 | | Klassement |
| 34 | | Berg |
| 17-06 | 22 | 16 | Stage 4Mireoix - Cazouls-lès-Béziers (192.0km) | 192.0km |
| 16-06 | 16 | 16 | Stage 3Prat-Bonrepaux - Les Monts d'Olmes (198.0km) | 198.0km |
| 15-06 | 20 | 17 | Stage 2Saint-Gaudens - Masseube Val de Gers (178.0km) | 178.0km |
| 14-06 | 20 | 22 | Stage 1Cap Découverte - Carmaux (168.0km) | 168.0km |
| | | Critérium du Dauphiné
(2.UWT) |
| 05-06 | DNS | | Stage 2Montbrison - Belleville (180.0km) | 180.0km |
| 04-06 | 108 | 110 | Stage 1Valence - Saint-Just-Saint-Rambert (179.0km) | 179.0km |
| 03-06 | 96 | 96 | PrologueValence - Valence (6.0km) | 6.0km |
| 26-05 | 5 | | Grand Prix de Plumelec-Morbihan (1.1) | |
| 22-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 258.0km |
| 18-04 | 15 | | La Flèche Wallonne (1.UWT) | 198.0km |
| 15-04 | 29 | | Amstel Gold Race (1.UWT) | 262.0km |
| | | Vuelta Ciclista al Pais Vasco (2.UWT) |
| 17 | | Klassement |
| 8 | | Berg |
| 07-04 | 25 | 17 | Stage 6Eibar - Arrate (122.0km) | 122.0km |
| 06-04 | 23 | 24 | Stage 5Vitoria-Gasteiz - Eibar (164.0km) | 164.0km |
| 05-04 | 63 | 26 | Stage 4Lodosa - Lodosa (19.0km) | 19.0km |
| 04-04 | 60 | 24 | Stage 3Bermeo - Villanueva de Valdegovía (184.0km) | 184.0km |
| 03-04 | 25 | 24 | Stage 2Zarautz - Bermeo (152.0km) | 152.0km |
| 02-04 | 25 | 25 | Stage 1Zarautz - Zarautz (162.0km) | 162.0km |
| 17-03 | 41 | | Milano-Sanremo (1.UWT) | 294.0km |
| | | Paris-Nice (2.UWT) |
| 8 | | Klassement |
| 11-03 | 11 | 8 | Stage 8Nice - Nice (110.0km) | 110.0km |
| 10-03 | 12 | 10 | Stage 7Nice - Valdeblore La Colmiane (175.0km) | 175.0km |
| 09-03 | 12 | 14 | Stage 6Sisteron - Vence (198.0km) | 198.0km |
| 08-03 | 51 | 17 | Stage 5Salon-de-Provence - Sisteron (165.0km) | 165.0km |
| 07-03 | 29 | 17 | Stage 4La Fouillouse - Saint-Étienne (18.0km) | 18.0km |
| 06-03 | 57 | 25 | Stage 3Bourges - Châtel-Guyon (210.0km) | 210.0km |
| 05-03 | 30 | 22 | Stage 2Orsonville - Vierzon (187.0km) | 187.0km |
| 04-03 | 29 | 29 | Stage 1Chatou - Meudon (135.0km) | 135.0km |
| 25-02 | 42 | | Royal Bernard Drome Classic (1.1) | |
| 24-02 | 4 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | 50ème Tour Cycliste International du Haut Var Matin (2.1) |
| 2 | | Klassement |
| 2 | | Punten |
| 18-02 | 2 | 2 | Stage 2Vidauban - Flayosc (188.0km) | 188.0km |
| 17-02 | 4 | 4 | Stage 1Le Cannet des Maures - Fayence (169.0km) | 169.0km |
| | | Volta a la Comunitat Valenciana (2.1) |
| 13 | | Klassement |
| 24 | | Berg |
| 04-02 | 36 | 13 | Stage 5Paterna - Valencia (135.0km) | 135.0km |
| 03-02 | 13 | 14 | Stage 4Orihuela - Cocentaina (184.0km) | 184.0km |
| 02-02 | 3 | 13 | Stage 3Calpe - Calpe (23.0km) | 23.0km |
| 01-02 | 8 | 13 | Stage 2Bétera - Albuixech (154.0km) | 154.0km |
| 31-01 | 68 | 68 | Stage 1Oropesa del Mar - Peñíscola (191.0km) | 191.0km |