| | | Presidential Cycling Tour of Turkey (2.UWT) |
| 9 | | Klassement |
| 28 | | Punten |
| 14-10 | 22 | 9 | Stage 6Bursa - Istanbul (166.0km) | 166.0km |
| 13-10 | 40 | 9 | Stage 5Celçuk - Manisa (136.0km) | 136.0km |
| 12-10 | 7 | 8 | Stage 4Marmaris - Celçuk (206.0km) | 206.0km |
| 11-10 | 50 | 33 | Stage 3Fethiye - Marmaris (137.0km) | 137.0km |
| 10-10 | 33 | 44 | Stage 2Alanya - Antalya (154.0km) | 154.0km |
| 09-10 | 56 | 55 | Stage 1Konya - Konya (149.0km) | 149.0km |
| 07-10 | 40 | | Paris - Tours Elite (1.HC) | 214.0km |
| 04-10 | 28 | | Paris-Bourges (1.1) | 193.0km |
| 20-09 | 16 | | Coppa Sabatini - Gran Premio città di Peccioli (1.1) | |
| 19-09 | 8 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | |
| 15-09 | 11 | | Coppa Agostoni (1.1) | 191.0km |
| 26-08 | DNF | | Bretagne Classic - Ouest-France (1.UWT) | 256.0km |
| | | Tour du Poitou Charentes (2.1) |
| 68 | | Klassement |
| 44 | | Punten |
| 5 | | Berg |
| 24-08 | 57 | 68 | Stage 5Brioux-sur-Boutonne - Poitiers (156.0km) | 156.0km |
| 23-08 | 60 | 90 | Stage 3Gença - Couhe (97.0km) | 97.0km |
| 23-08 | 80 | 87 | Stage 4Champagné-Saint-Hilaire - Couhe (22.0km) | 22.0km |
| 22-08 | 96 | 98 | Stage 2Segonzac - Melle (189.0km) | 189.0km |
| 21-08 | 90 | 90 | Stage 1Jonzac - Cognac (192.0km) | 192.0km |
| | | Int. Österreich-Rundfahrt (2.HC) |
| 08-07 | DNF | | Stage 2Feldkirch - Fulpmes (180.0km) | 180.0km |
| 07-07 | 84 | 85 | Stage 1Feldkirch - Feldkirch (152.0km) | 152.0km |
| 30-06 | DNF | | National Road Championships - Italy (CN) | 233.0km |
| 24-06 | 10 | | Paris-Chauny (classique) (1.2) | |
| | | Route d'Occitanie (2.1) |
| 30 | | Klassement |
| 34 | | Punten |
| 17 | | Berg |
| 17-06 | 32 | 30 | Stage 4Mireoix - Cazouls-lès-Béziers (192.0km) | 192.0km |
| 16-06 | 38 | 37 | Stage 3Prat-Bonrepaux - Les Monts d'Olmes (198.0km) | 198.0km |
| 15-06 | 50 | 40 | Stage 2Saint-Gaudens - Masseube Val de Gers (178.0km) | 178.0km |
| 14-06 | 31 | 33 | Stage 1Cap Découverte - Carmaux (168.0km) | 168.0km |
| | | Skoda-Tour de Luxembourg (2.HC) |
| 10 | | Klassement |
| 13 | | Punten |
| 1 | | Berg |
| 03-06 | 6 | 10 | Stage 4Mersch - Luxembourg (176.0km) | 176.0km |
| 02-06 | 10 | 11 | Stage 3Eschweiler - Differdange (163.0km) | 163.0km |
| 01-06 | 7 | 13 | Stage 2Rosport - Schifflange (170.0km) | 170.0km |
| 31-05 | 49 | 33 | Stage 1Luxembourg - Hesperange (186.0km) | 186.0km |
| 30-05 | 34 | 34 | PrologueLuxembourg - Luxembourg (2.0km) | 2.0km |
| | | Tour of Norway (2.HC) |
| 24 | | Klassement |
| 22 | | Punten |
| 20-05 | 11 | 24 | Stage 5Moelv - Lillehammer (154.0km) | 154.0km |
| 19-05 | 55 | 74 | Stage 4Kongsvinger - Brumunddal (218.0km) | 218.0km |
| 18-05 | 81 | 80 | Stage 3Moss - Sarpsborg (175.0km) | 175.0km |
| 17-05 | 84 | 83 | Stage 2Hønefoss - Asker (169.0km) | 169.0km |
| 16-05 | 82 | 83 | Stage 1Svelvik - Horten (186.0km) | 186.0km |
| | | 4 Jours de Dunkerque (2.HC) |
| 27 | | Klassement |
| 30 | | Punten |
| 13 | | Berg |
| 13-05 | 6 | 27 | Stage 6Coulogne - Dunkerque (174.0km) | 174.0km |
| 12-05 | 27 | 27 | Stage 5Wormhout - Cassel (178.0km) | 178.0km |
| 11-05 | 34 | 32 | Stage 4Dainville - Mont-Saint-Éloi (172.0km) | 172.0km |
| 10-05 | 53 | 36 | Stage 3Fort-Mahon-Plage - Ecques (172.0km) | 172.0km |
| 09-05 | 38 | 28 | Stage 2Le Quesnoy - Soissons (173.0km) | 173.0km |
| 08-05 | 43 | 44 | Stage 1Dunkerque - La Bassée (165.0km) | 165.0km |
| | | Vuelta a Castilla y Leon (2.1) |
| 21-04 | DNS | | Stage 2Valladolid - Palencia (178.0km) | 178.0km |
| 20-04 | 81 | 82 | Stage 1Alba de Tormes - Salamanca (182.0km) | 182.0km |
| 18-04 | 56 | | La Flèche Wallonne (1.UWT) | 198.0km |
| 15-04 | 9 | | Tro-Bro Léon (1.1) | 203.0km |
| 14-04 | 16 | | Tour du Finistère (1.1) | 190.0km |
| 10-04 | 38 | | Paris-Camembert (1.1) | 196.0km |
| | | Circuit Cycliste Sarthe-Pays de la Loire (2.1) |
| 18 | | Klassement |
| 33 | | Punten |
| 06-04 | 53 | 18 | Stage 4Brûlon - Sablé-sur-Sarthe (183.0km) | 183.0km |
| 05-04 | 10 | 15 | Stage 3Abbaye de l'Epau - Pré-en-Pail-Saint-Samson (199.0km) | 199.0km |
| 04-04 | 25 | 35 | Stage 2Riaillé - Ancenis (183.0km) | 183.0km |
| 03-04 | 49 | 49 | Stage 1Abbaye de l'Epau - Baugé-en-Anjou (193.0km) | 193.0km |
| 31-03 | 53 | | Gran Premio Miguel Indurain (1.1) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 25 | | Klassement |
| 25-03 | 10 | 25 | Stage 4Fiorano Modenese - Sassuolo (12.0km) | 12.0km |
| 24-03 | 6 | 27 | Stage 3Crevalcore - Crevalcore (171.0km) | 171.0km |
| 23-03 | 31 | 32 | Stage 2Riccione - Sogliano al Rubicone (130.0km) | 130.0km |
| 22-03 | 15 | 58 | Stage 1bGatteo a Mare - Gatteo (13.0km) | 13.0km |
| 22-03 | 72 | 71 | Stage 1aGatteo - Gatteo (97.0km) | 97.0km |
| 04-03 | 5 | | GP Industria & Artigianato (1.HC) | 199.0km |
| 25-02 | 64 | | Royal Bernard Drome Classic (1.1) | |
| 24-02 | 16 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | 50ème Tour Cycliste International du Haut Var Matin (2.1) |
| 6 | | Klassement |
| 9 | | Punten |
| 18-02 | 4 | 6 | Stage 2Vidauban - Flayosc (188.0km) | 188.0km |
| 17-02 | 22 | 22 | Stage 1Le Cannet des Maures - Fayence (169.0km) | 169.0km |
| 11-02 | 12 | | Trofeo Laigueglia (1.HC) | 203.0km |
| | | Etoile de Bessèges (2.1) |
| 35 | | Klassement |
| 04-02 | 31 | 35 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 03-02 | 57 | 54 | Stage 4Chusclan - Laudun-l'Ardoise (153.0km) | 153.0km |
| 02-02 | 24 | 60 | Stage 3Bessèges - Bessèges (152.0km) | 152.0km |
| 01-02 | 91 | 89 | Stage 2Nîmes - Générac (151.0km) | 151.0km |
| 31-01 | 86 | 103 | Stage 1Bellegarde - Beaucaire (162.0km) | 162.0km |
| 28-01 | 22 | | Grand Prix Cycliste la Marseillaise (1.1) | 145.0km |