| 06-10 | 22 | | Tour de Vendée (1.1) | 206.0km |
| 30-09 | DNF | | UCI World Championship Innsbruck (CM) | 258.0km |
| 27-09 | 4 | | Famenne Ardenne Classic (1.1) | 194.0km |
| 23-09 | 2 | | Tour du Gévaudan Occitanie (1.2) | |
| 16-09 | 95 | | Coppa Bernocchi (1.1) | 194.0km |
| 15-09 | 2 | | Coppa Agostoni (1.1) | 191.0km |
| 09-09 | 3 | | Tour du Doubs (1.1) | |
| | | Vuelta a Burgos (2.HC) |
| 19 | | Klassement |
| 24 | | Punten |
| 23 | | Berg |
| 11-08 | 22 | 19 | Stage 5Salas de los Infantes - Lagunas de Neila (120.0km) | 120.0km |
| 10-08 | 93 | 17 | Stage 4Monasterio de San Pedro Cardeña - Ciudad Romana de Clunia (165.0km) | 165.0km |
| 09-08 | 8 | 18 | Stage 3Valle de Sedano - Espinosa de los Monteros (149.0km) | 149.0km |
| 08-08 | 61 | 63 | Stage 2Belorado - Castrojeriz (163.0km) | 163.0km |
| 07-08 | 64 | 64 | Stage 1Burgos - Burgos (151.0km) | 151.0km |
| | | Tour de France (2.UWT) |
| 19-07 | OTL | | Stage 12Bourg-Saint-Maurice - L'Alpe-d'Huez (175.0km) | 175.0km |
| 18-07 | 57 | 42 | Stage 11Albertville - La Rosière-Montvalezan (108.0km) | 108.0km |
| 17-07 | 3 | 44 | Stage 10Annecy - Le Grand-Bornand (159.0km) | 159.0km |
| 15-07 | 155 | 80 | Stage 9Arras - Roubaix (154.0km) | 154.0km |
| 14-07 | 82 | 53 | Stage 8Dreux - Amiens (181.0km) | 181.0km |
| 13-07 | 82 | 57 | Stage 7Fougères - Chartres (231.0km) | 231.0km |
| 12-07 | 43 | 58 | Stage 6Brest - Mûr-de-Bretagne (181.0km) | 181.0km |
| 11-07 | 84 | 79 | Stage 5Lorient - Quimper (203.0km) | 203.0km |
| 10-07 | 72 | 109 | Stage 4La Baule - Sarzeau (192.0km) | 192.0km |
| 09-07 | 18 | 126 | Stage 3Cholet - Cholet (35.0km) | 35.0km |
| 08-07 | 90 | 93 | Stage 2Mouilleron-Saint-Germain - La Roche-sur-Yon (183.0km) | 183.0km |
| 07-07 | 95 | 95 | Stage 1Noirmoutier-en-l'Île - Fontenay-le-Comte (189.0km) | 189.0km |
| 01-07 | 5 | | National Road Championships - Estonia (CN) | |
| | | Tour de Suisse (2.UWT) |
| 72 | | Klassement |
| 72 | | Punten |
| 6 | | Berg |
| 17-06 | 47 | 72 | Stage 9Bellinzona - Bellinzona (34.0km) | 34.0km |
| 16-06 | 127 | 73 | Stage 8Bellinzona - Bellinzona (123.0km) | 123.0km |
| 15-06 | 66 | 67 | Stage 7Eschenbach - Arosa (170.0km) | 170.0km |
| 14-06 | | | Stage 6Fiesch - Gommiswald (186.0km) | 186.0km |
| 13-06 | 51 | 59 | Stage 5Gstaad - Leukerbad (155.0km) | 155.0km |
| 12-06 | 105 | 98 | Stage 4Gansingen - Gstaad (189.0km) | 189.0km |
| 11-06 | 109 | 97 | Stage 3Oberstammheim - Gansingen (182.0km) | 182.0km |
| 10-06 | 117 | 97 | Stage 2Frauenfeld - Frauenfeld (155.0km) | 155.0km |
| 09-06 | | 94 | Stage 1Frauenfeld - Frauenfeld (18.0km) | 18.0km |
| | | Tour of Estonia (2.1) |
| 11 | | Klassement |
| 4 | | Berg |
| 26-05 | 13 | 11 | Stage 2Tartu - Tartu (173.0km) | 173.0km |
| 25-05 | 39 | 39 | Stage 1Tallinn - Tartu (194.0km) | 194.0km |
| | | Tour de l'Ain (2.1) |
| 3 | | Klassement |
| 8 | | Punten |
| 7 | | Berg |
| 20-05 | 5 | 3 | Stage 3Lélex - Col de la Faucille (133.0km) | 133.0km |
| 19-05 | 7 | 7 | Stage 2Courtes - Arbent (153.0km) | 153.0km |
| 18-05 | 69 | 69 | Stage 1Saint-Vulbas - Montrevel-en-Bresse (162.0km) | 162.0km |
| | | Vuelta Aragon (2.1) |
| 4 | | Klassement |
| 7 | | Punten |
| 11 | | Berg |
| 13-05 | 5 | 4 | Stage 3Sabiñánigo - Cerler (130.0km) | 130.0km |
| 12-05 | 9 | 5 | Stage 2Huesca - Zaragoza (170.0km) | 170.0km |
| 11-05 | 20 | 20 | Stage 1Teruel - Caspe (184.0km) | 184.0km |
| 22-04 | DNF | | Liège-Bastogne-Liège (1.UWT) | 258.0km |
| 14-04 | DNF | | Tour du Finistère (1.1) | 190.0km |
| 11-04 | DNF | | De Brabantse Pijl (1.HC) | 201.0km |
| | | Circuit des Ardennes International (2.2) |
| 40 | | Klassement |
| 10 | | Berg |
| 08-04 | 70 | 40 | Stage 3bCharleville-Mézières - Charleville-Mézières (104.0km) | 104.0km |
| 08-04 | 37 | 34 | Stage 3aDonchery - Vivier-au-Court (79.0km) | 79.0km |
| 07-04 | 69 | 36 | Stage 2Beauraing - Givet (175.0km) | 175.0km |
| 06-04 | 26 | 26 | Stage 1Bazeilles - Bazeilles (160.0km) | 160.0km |
| 31-03 | 54 | | Gran Premio Miguel Indurain (1.1) | |
| 25-03 | 75 | | Cholet - Pays De Loire (1.1) | |
| 24-03 | DNF | | Classic Loire Atlantique (1.1) | |
| 24-02 | 94 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.HC) |
| 84 | | Klassement |
| 18-02 | 23 | 84 | Stage 5Barbate - Barbate (14.0km) | 14.0km |
| 17-02 | 123 | 84 | Stage 4Sevilla - Alcala de los Gazules (191.0km) | 191.0km |
| 16-02 | 146 | 75 | Stage 3Mancha Real - Herrera (165.0km) | 165.0km |
| 15-02 | 43 | 43 | Stage 2Otura Santa Clara Golf - La Guardia de Jaén (140.0km) | 140.0km |
| 14-02 | 75 | 75 | Stage 1Mijas - Granada (197.0km) | 197.0km |
| 10-02 | OTL | | Vuelta Ciclista a la Región de Murcia Costa Calida (1.1) | |
| | | Volta a la Comunitat Valenciana (2.1) |
| 59 | | Klassement |
| 04-02 | 153 | 59 | Stage 5Paterna - Valencia (135.0km) | 135.0km |
| 03-02 | 37 | 36 | Stage 4Orihuela - Cocentaina (184.0km) | 184.0km |
| 02-02 | 10 | 53 | Stage 3Calpe - Calpe (23.0km) | 23.0km |
| 01-02 | 59 | 53 | Stage 2Bétera - Albuixech (154.0km) | 154.0km |
| 31-01 | 62 | 62 | Stage 1Oropesa del Mar - Peñíscola (191.0km) | 191.0km |