| 10-10 | 78 | | Gran Piemonte (1.HC) | 183.0km |
| | | Tour of Croatia (2.1) |
| 49 | | Klassement |
| 06-10 | 68 | 49 | Stage 6Sveta Nedelja - Zagreb (160.0km) | 160.0km |
| 05-10 | 30 | 43 | Stage 5Rabac - Platak (142.0km) | 142.0km |
| 04-10 | 67 | 73 | Stage 4Starigrad - Crikvenica (159.0km) | 159.0km |
| 03-10 | 86 | 72 | Stage 3Okrug - Makarska (165.0km) | 165.0km |
| 02-10 | 64 | 60 | Stage 2Slunj - Zadar (186.0km) | 186.0km |
| 01-10 | 56 | 58 | Stage 1Osijek - Lipik (210.0km) | 210.0km |
| 22-09 | 64 | | Trofeo Matteotti (1.1) | |
| 21-09 | DNF | | Memorial Marco Pantani (1.1) | |
| 15-09 | DNF | | Coppa Bernocchi (1.1) | |
| 08-09 | DNF | | Antwerp Port Epic / Sels Trophy (1.1) | 187.0km |
| 01-09 | 66 | | Grote Prijs Jef Scherens - Rondom Leuven (1.1) | 185.0km |
| 31-08 | 37 | | Omloop Mandel-Leie-Schelde Meulebeke (1.1) | |
| 28-08 | 32 | | Druivenkoers - Overijse (1.1) | |
| 25-08 | DNF | | Schaal Sels Merksem (1.1) | |
| | | Arctic Race of Norway (2.HC) |
| 96 | | Klassement |
| 18-08 | 90 | 96 | Stage 4Lødingen - Narvik (166.0km) | 166.0km |
| 17-08 | 82 | 82 | Stage 3Sortland - Storheia (Melbu) (176.0km) | 176.0km |
| 16-08 | 98 | 88 | Stage 2Henningsvaer - Svolvær (168.0km) | 168.0km |
| 15-08 | 60 | 60 | Stage 1Å - Leknes (182.0km) | 182.0km |
| | | Kreiz Breizh Elites (2.2) |
| 64 | | Klassement |
| 05-08 | 81 | 64 | Stage 4Guingamp - Rostrenen (171.0km) | 171.0km |
| 04-08 | 61 | 62 | Stage 3Ploërdut - Carhaix (181.0km) | 181.0km |
| 03-08 | 40 | 100 | Stage 2Calanhel - Plouray (181.0km) | 181.0km |
| 02-08 | 3 | 138 | Stage 1Ploumagoar - Ploumagoar (12.0km) | 12.0km |
| 30-06 | 19 | | National Road Championships - Switzerland (CN) | |
| | | La Route d'Occitanie (2.1) |
| 73 | | Klassement |
| 23-06 | 73 | 73 | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 79 | 72 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 37 | 66 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 71 | 71 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| 17-06 | 21 | | Mont Ventoux Denivelé Challenges (1.1) | 185.0km |
| 13-06 | 86 | | Grosser Preis des Kantons Aargau (1.HC) | 185.0km |
| | | Tour de Romandie (2.UWT) |
| 04-05 | DNF | | Stage 4Lucens - Torgon (107.0km) | 107.0km |
| 03-05 | 97 | 66 | Stage 3Romont - Romont (160.0km) | 160.0km |
| 02-05 | 63 | 52 | Stage 2Le Locle - Morges (174.0km) | 174.0km |
| 01-05 | 43 | 56 | Stage 1Neuchâtel - La Chaux-de-Fonds (168.0km) | 168.0km |
| 30-04 | 87 | 87 | PrologueNeuchâtel - Neuchâtel (3.0km) | 3.0km |
| 28-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 256.0km |
| 21-04 | 49 | | Amstel Gold Race (1.UWT) | 258.0km |
| 17-04 | 19 | | De Brabantse Pijl (1.HC) | 195.0km |
| | | Circuit Cycliste Sarthe - Pays de la Loire (2.1) |
| 4 | | Klassement |
| 23 | | Punten |
| 10 | | Berg |
| 12-04 | 16 | 4 | Stage 4Sillé-le-Guillaume - Sillé-le-Guillaume (183.0km) | 183.0km |
| 11-04 | 9 | 6 | Stage 3Royal Abbey of Epau - Mont des Avaloirs (184.0km) | 184.0km |
| 10-04 | 58 | 44 | Stage 2Freigné - Belligné (172.0km) | 172.0km |
| 09-04 | 25 | 28 | Stage 1La Châtaigneraie - La Châtaigneraie (180.0km) | 180.0km |
| 06-04 | 1 | | Volta Limburg Classic (1.1) | 192.0km |
| 31-03 | 61 | | Cholet - Pays de la Loire (1.1) | 203.0km |
| | | Paris-Nice (2.UWT) |
| 90 | | Klassement |
| 17-03 | 97 | 90 | Stage 8Nice - Nice (110.0km) | 110.0km |
| 16-03 | 98 | 87 | Stage 7Nice - Col de Turini (181.0km) | 181.0km |
| 15-03 | 107 | 83 | Stage 6Peynier - Brignoles (176.0km) | 176.0km |
| 14-03 | 142 | 71 | Stage 5Barbentane - Barbentane (25.0km) | 25.0km |
| 13-03 | 67 | 64 | Stage 4Vichy - Pélussin (210.0km) | 210.0km |
| 12-03 | 128 | 114 | Stage 3Cepoy - Moulines/Yzeure (200.0km) | 200.0km |
| 11-03 | 118 | 86 | Stage 2Les Bréviaires - Bellegarde (163.0km) | 163.0km |
| 10-03 | 29 | 29 | Stage 1Saint-Germain-en-Laye - Saint-Germain-en-Laye (138.0km) | 138.0km |
| 03-03 | 32 | | Royal Bernard Drome Classic (1.1) | |
| 02-03 | 6 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Tour of Oman (2.HC) |
| 35 | | Klassement |
| 21-02 | 87 | 35 | Stage 6Al Mouj Muscat - Matrah Corniche (135.0km) | 135.0km |
| 20-02 | 34 | 33 | Stage 5Samayil - Al Jabal Al Akhdar (152.0km) | 152.0km |
| 19-02 | 58 | 42 | Stage 4Yiti - Oman Convention & Exhibition Center (125.0km) | 125.0km |
| 18-02 | 44 | 49 | Stage 3Shati Al Qurum - Qurayyat (192.0km) | 192.0km |
| 17-02 | 59 | 55 | Stage 2Royal Cavalry Oman - Al Bustan (158.0km) | 158.0km |
| 16-02 | 61 | 62 | Stage 1Al Sawadi Beach - Suhar Corniche (138.0km) | 138.0km |
| 03-02 | 85 | | Grand Prix Cycliste la Marseillaise (1.1) | 139.0km |