| 08-10 | DNF | | Il Lombardia (1.UWT) | 253.0km |
| 06-10 | 142 | | Gran Piemonte (1.Pro) | 198.0km |
| 03-10 | 55 | | Coppa Bernocchi (1.Pro) | 190.0km |
| 01-10 | 112 | | Giro dell'Emilia (1.Pro) | 198.0km |
| 15-09 | DNF | | Coppa Sabatini (1.Pro) | |
| 14-09 | DNF | | Giro della Toscana (1.1) | 191.0km |
| | | Deutschland Tour (2.Pro) |
| 28-08 | DNF | | Stage 4Schiltach - Stuttgart (188.0km) | 188.0km |
| 27-08 | 76 | 84 | Stage 3Freiburg - Schauinsland (150.0km) | 150.0km |
| 26-08 | 88 | 79 | Stage 2Meiningen - Marburg (199.0km) | 199.0km |
| 25-08 | 92 | 43 | Stage 1Weimar - Meiningen (171.0km) | 171.0km |
| 24-08 | 51 | 51 | PrologueWeimar - Weimar (2.0km) | 2.0km |
| | | Vuelta a Burgos (2.Pro) |
| 22 | | Klassement |
| 36 | | Punten |
| 06-08 | 37 | 22 | Stage 5Lermas - Lagunas de Neila (170.0km) | 170.0km |
| 05-08 | 42 | 10 | Stage 4Torresandino - Ciudad Romana de Clunia (169.0km) | 169.0km |
| 04-08 | 20 | 9 | Stage 3Quintana Martín Galíndez - Villarcayo (156.0km) | 156.0km |
| 03-08 | 66 | 10 | Stage 2Vivar del Cid - Villadiego (158.0km) | 158.0km |
| 02-08 | 13 | 13 | Stage 1Burgos - Burgos (157.0km) | 157.0km |
| 23-06 | 14 | | National Road Championships - Belgium TT (CN) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 17 | | Klassement |
| 10 | | Berg |
| 19-06 | 21 | 17 | Stage 4Les Angles - Auterive (188.0km) | 188.0km |
| 18-06 | 20 | 28 | Stage 3Sigean - Les Angles (188.0km) | 188.0km |
| 17-06 | 116 | 106 | Stage 2Belmont-sur-Rance - Roquefort-sur-Soulzon (35.0km) | 35.0km |
| 16-06 | 106 | 107 | Stage 1Séméac - L'Isle Jourdain (174.0km) | 174.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 67 | | Klassement |
| 10 | | Berg |
| 12-06 | 39 | 67 | Stage 8Saint-Alban-Leysse - Plateau de Solaison (139.0km) | 139.0km |
| 11-06 | 63 | 91 | Stage 7Saint-Chaffrey - Vaujany (134.0km) | 134.0km |
| 10-06 | 106 | 102 | Stage 6Rives - Gap (196.0km) | 196.0km |
| 09-06 | 95 | 104 | Stage 5Thizy-les-Bourgs - Chaintré (162.0km) | 162.0km |
| 08-06 | 91 | 107 | Stage 4Montbrison - La Bâtie d'Urfé (31.0km) | 31.0km |
| 07-06 | 85 | 111 | Stage 3Saint-Paulien - Chastreix (164.0km) | 164.0km |
| 06-06 | 125 | 121 | Stage 2Saint-Péray - Brives-Charensac (169.0km) | 169.0km |
| 05-06 | 115 | 116 | Stage 1La Voulte-sur-Rhône - Beauchastel (191.0km) | 191.0km |
| | | Tour de Romandie (2.UWT) |
| 84 | | Klassement |
| 30 | | Punten |
| 01-05 | 36 | 84 | Stage 5Aigle - Villars (15.0km) | 15.0km |
| 30-04 | 42 | 88 | Stage 4Aigle - Zinal (180.0km) | 180.0km |
| 29-04 | 109 | 125 | Stage 3Valbroye - Valbroye (165.0km) | 165.0km |
| 28-04 | 109 | 125 | Stage 2Echallens - Echallens (168.0km) | 168.0km |
| 27-04 | 134 | 134 | Stage 1La Grande Béroche - Romont (178.0km) | 178.0km |
| 26-04 | 42 | 42 | PrologueLausanne - Lausanne (5.0km) | 5.0km |
| 24-04 | 101 | | Liège-Bastogne-Liège (1.UWT) | 254.0km |
| 20-04 | DNF | | La Flèche Wallonne (1.UWT) | 202.0km |
| 13-04 | 12 | | De Brabantse Pijl (1.Pro) | 204.0km |
| 10-04 | DNF | | Amstel Gold Race (1.UWT) | 254.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 28 | | Klassement |
| 18 | | Berg |
| 08-04 | 25 | 28 | Stage 4La Chapelle-Saint-Aubin - La Chapelle-Saint-Aubin (173.0km) | 173.0km |
| 07-04 | 72 | 61 | Stage 3Sablé-sur-Sarthe - Sablé-sur-Sarthe (176.0km) | 176.0km |
| 06-04 | 60 | 61 | Stage 2Le Lude - Le Lude (173.0km) | 173.0km |
| 05-04 | 68 | 68 | Stage 1Mamers - Mamers (192.0km) | 192.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 83 | | Klassement |
| 26-03 | 82 | 83 | Stage 5Casalguidi - Cantagrillo di Serravalle (160.0km) | 160.0km |
| 25-03 | 78 | 89 | Stage 4Montecatini - Montecatini (158.0km) | 158.0km |
| 24-03 | 115 | 100 | Stage 3San Marino - San Marino (147.0km) | 147.0km |
| 23-03 | 126 | 112 | Stage 2Riccione - Longiano (165.0km) | 165.0km |
| 22-03 | 113 | 113 | Stage 1Riccione - Riccione (164.0km) | 164.0km |
| 16-03 | 120 | | Milano - Torino (1.Pro) | 199.0km |
| | | Etoile de Bessèges (2.1) |
| 110 | | Klassement |
| 06-02 | 87 | 110 | Stage 5Alès - Alès (10.0km) | 10.0km |
| 05-02 | 119 | 116 | Stage 4Saint-Hilaire-de-Brethmas - Le Mont Bouquet (145.0km) | 145.0km |
| 04-02 | 129 | 110 | Stage 3Bessèges - Bessèges (155.0km) | 155.0km |
| 03-02 | 133 | 95 | Stage 2Saint-Christol-lès-Alès - Rousson (155.0km) | 155.0km |
| 02-02 | 77 | 77 | Stage 1Bellegarde - Bellegarde (160.0km) | 160.0km |