| 19-10 | 11 | | Chrono des Nations (1.1) | 44.0km |
| 05-10 | DNF | | UEC Road European Championships (CC) | 202.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 10 | | Klassement |
| 21-09 | 14 | 10 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 16 | 10 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 11 | 11 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 55 | 32 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 32 | 32 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 11-09 | 32 | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | 197.0km |
| 10-09 | 11 | | Giro della Toscana - Memorial Alfredo Martini (1.1) | 189.0km |
| 07-09 | 39 | | GP Industria & Artigianato (1.Pro) | 196.0km |
| | | Tour du Limousin (2.1) |
| 6 | | Klassement |
| 22-08 | 20 | 6 | Stage 4Bonneval - Limoges (164.0km) | 164.0km |
| 21-08 | 19 | 6 | Stage 3Saint-Jal - Masseret (182.0km) | 182.0km |
| 20-08 | 8 | 5 | Stage 2Thiviers - Grèzes (174.0km) | 174.0km |
| 19-08 | 28 | 6 | Stage 1Panazol - La Courtine (184.0km) | 184.0km |
| | | Vuelta a Burgos (2.Pro) |
| 10 | | Klassement |
| 28 | | Punten |
| 09-08 | 19 | 10 | Stage 5Bodega Cillar de Silos - Lagunas de Neila (138.0km) | 138.0km |
| 08-08 | 45 | 7 | Stage 4Burpellet - Regumiel de la Sierra (162.0km) | 162.0km |
| 07-08 | 8 | 7 | Stage 3San Pedro de Cardena - Valpuesta (185.0km) | 185.0km |
| 06-08 | 25 | 26 | Stage 2Cilleruelo de Abajo - Buniel (162.0km) | 162.0km |
| 05-08 | 52 | 52 | Stage 1Olmillos de Sasamón - Alto del Castillo (205.0km) | 205.0km |
| 02-08 | 20 | | Donostia San Sebastian Klasikoa (1.UWT) | 211.0km |
| 25-07 | 23 | | Prueba Villafranca - Ordiziako Klasika (1.1) | 168.0km |
| 29-06 | 9 | | National Road Championships - Spain (CN) | 191.0km |
| 27-06 | 13 | | National Road Championships - Spain TT (CN) | 14.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 32 | | Klassement |
| 33 | | Punten |
| 26 | | Berg |
| 21-06 | 27 | 32 | Stage 4Saint-Gaudens - Saint-Girons (128.0km) | 128.0km |
| 20-06 | 49 | 43 | Stage 3Pujaudran - Luz-Ardiden (173.0km) | 173.0km |
| 19-06 | 53 | 6 | Stage 2Gignac - Carmaux (195.0km) | 195.0km |
| 18-06 | 6 | 6 | Stage 1Saint-Affrique - Roquefortf (10.0km) | 10.0km |
| | | Tour of Slovenia (2.Pro) |
| 21 | | Klassement |
| 08-06 | 30 | 21 | Stage 5Litija - Novo Mesto (123.0km) | 123.0km |
| 07-06 | 22 | 19 | Stage 4Maribor - Golte (175.0km) | 175.0km |
| 06-06 | 65 | 35 | Stage 3Majšperk - Ormož (173.0km) | 173.0km |
| 05-06 | 26 | 34 | Stage 2Velenje - Rogaška Slatina (157.0km) | 157.0km |
| 04-06 | 64 | 65 | Stage 1Piran - Škofljica (168.0km) | 168.0km |
| 26-05 | DNF | | Mercan'Tour Classic Alpes-Maritimes (1.1) | 152.0km |
| | | Tour de Hongrie (2.Pro) |
| 10 | | Klassement |
| 18-05 | 25 | 10 | Stage 5Etyek - Esztergom (167.0km) | 167.0km |
| 17-05 | 28 | 13 | Stage 4Tata - Székesfehérvár (167.0km) | 167.0km |
| 16-05 | 14 | 13 | Stage 3Gödöllő - Kékestető (163.0km) | 163.0km |
| 15-05 | 79 | 71 | Stage 2Veszprem - Siofok (178.0km) | 178.0km |
| 14-05 | 59 | 62 | Stage 1Budapest - Gyor (210.0km) | 210.0km |
| 05-04 | 21 | | Gran Premio Miguel Indurain (1.Pro) | 198.0km |
| | | Volta Ciclista a Catalunya (2.UWT) |
| 78 | | Klassement |
| 30-03 | 82 | 78 | Stage 7Barcelona - Barcelona (88.0km) | 88.0km |
| 29-03 | 16 | 77 | Stage 6Berga - Nuestra Senore de Queralt (25.0km) | 25.0km |
| 28-03 | 109 | 81 | Stage 5Paüls - Amposta (172.0km) | 172.0km |
| 27-03 | 123 | 76 | Stage 4Sant Vicenç de Castellet - Monasterio de Montserrat (188.0km) | 188.0km |
| 26-03 | 69 | 51 | Stage 3Viladecans - La Molina (218.0km) | 218.0km |
| 25-03 | 72 | 40 | Stage 2Banyoles - Figueres (177.0km) | 177.0km |
| 24-03 | 41 | 41 | Stage 1Sant Feliu de Guíxols - Sant Feliu de Guíxols (178.0km) | 178.0km |
| 19-03 | 22 | | Milano - Torino (1.Pro) | 174.0km |
| | | O Gran Camiño - The Historical Route (2.1) |
| 19 | | Klassement |
| 23 | | Punten |
| 02-03 | 58 | 19 | Stage 5Betanzos - Santiago de Compostela (165.0km) | 165.0km |
| 01-03 | 17 | 20 | Stage 4A Pobra do Brollón - O Cebreiro (142.0km) | 142.0km |
| 28-02 | 7 | 27 | Stage 3Ourense - Pereiro de Aguiar (15.0km) | 15.0km |
| 27-02 | 32 | 35 | Stage 2Marín - Lalín/a Estrada (144.0km) | 144.0km |
| 26-02 | | 108 | Stage 1Maia - Matosinhos (190.0km) | 190.0km |
| 16-02 | 18 | | Figueira Champions Classic (1.Pro) | 192.0km |
| | | Etoile de Bessèges - Tour du Gard (2.1) |
| 08-02 | DNS | | Stage 4Vauvert - Le Mont Bouquet (119.0km) | 119.0km |
| 07-02 | 32 | 19 | Stage 3Bessèges - Bessèges (136.0km) | 136.0km |
| 06-02 | 50 | 32 | Stage 2Domessargues - Marguerittes (165.0km) | 165.0km |
| 05-02 | 33 | 33 | Stage 1Bellegarde - Bellegarde (159.0km) | 159.0km |
| 02-02 | 61 | | Trofeo Palma (1.1) | 149.0km |
| 31-01 | 15 | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 29-01 | 25 | | Trofeo Calvià (1.1) | 149.0km |
| 26-01 | 14 | | Clàssica Comunitat Valenciana 1969 - Gran Premi València (1.1) | 184.0km |
| 24-01 | 1 | | Classica Camp de Morvedre (1.2) | 178.0km |