| 05-10 | 108 | | Paris - Bourges (1.1) | 198.0km |
| 03-10 | 70 | | Binche - Chimay - Binche (1.1) | 198.0km |
| 01-10 | 52 | | Tour de Vendée (1.1) | 207.0km |
| 22-09 | 36 | | UEC Road European Championships U23 (CC) | 136.0km |
| 17-09 | DNF | | Trofeo Matteotti (1.1) | 195.0km |
| 16-09 | DNF | | Memorial Marco Pantani (1.1) | 193.0km |
| 14-09 | 36 | | Gran Premio città di Peccioli - Coppa Sabatini (1.Pro) | |
| 13-09 | DNF | | Giro della Toscana (1.1) | |
| | | Tour de l'Avenir (2.NCUP) |
| 14 | | Klassement |
| 37 | | Punten |
| 27-08 | 15 | 14 | Stage 8Val Cenis - Sainte-Foy-Tarentaise (100.0km) | 100.0km |
| 26-08 | 14 | 14 | Stage 7bLes Karellis - Col du Mont Cenis (70.0km) | 70.0km |
| 26-08 | 19 | 17 | Stage 7aMontricher-Albanne - Les Karellis (11.0km) | 11.0km |
| 25-08 | 24 | 18 | Stage 6Méribel - Col de la Loze (Méribel) (65.0km) | 65.0km |
| 24-08 | 10 | 11 | Stage 5La Tour-de-Salvagny - Lac d'Aiguebelette (141.0km) | 141.0km |
| 23-08 | 27 | 15 | Stage 4Aigurande - Évaux-les-Bains (149.0km) | 149.0km |
| 22-08 | | 25 | Stage 3Vatan - Issoudun (21.0km) | 21.0km |
| 21-08 | 55 | 33 | Stage 2Nozay - Château-Chinon (189.0km) | 189.0km |
| 20-08 | 44 | 44 | Stage 1Carnac - La Gacilly (140.0km) | 140.0km |
| 12-08 | DNF | | UCI World Championship Glasgow U23 (CM) | 168.0km |
| 30-07 | 33 | | Circuito de Getxo - Memorial Hermanos Otxoa (1.1) | 193.0km |
| | | Vuelta a Castilla y Leon (2.1) |
| 92 | | Klassement |
| 27-07 | 86 | 92 | Stage 2Coca - Segovia (186.0km) | 186.0km |
| 26-07 | 86 | 87 | Stage 1Soria - Soria (168.0km) | 168.0km |
| 25-06 | DNF | | National Road Championships - Spain (CN) | |
| 23-06 | 13 | | National Road Championships - Spain TT (CN) | |
| | | La Route d'Occitanie - La Dépêche du Midi (2.1) |
| 18-06 | DNF | | Stage 4Saint-Gaudens - Saint-Girons (164.0km) | 164.0km |
| 17-06 | 104 | 90 | Stage 3Gimont - Nistos Cap Nestès (189.0km) | 189.0km |
| 16-06 | 79 | 65 | Stage 2Cazouls-lès-Béziers - Graulhet (182.0km) | 182.0km |
| 15-06 | 64 | 64 | Stage 1Narbonne - Gruissan (184.0km) | 184.0km |
| 13-06 | 105 | | CIC - Mont Ventoux (1.Pro) | 154.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 8 | | Klassement |
| 25 | | Punten |
| 3 | | Berg |
| 11-06 | 38 | 8 | Stage 3Jeseník - Jeseník (166.0km) | 166.0km |
| 10-06 | 10 | 8 | Stage 2Bruntál - Cervenohorské sedlo (129.0km) | 129.0km |
| 09-06 | 43 | 36 | Stage 1Jeseník - Rýmařov (121.0km) | 121.0km |
| 08-06 | 51 | 51 | PrologueJeseník - Jeseník (3.0km) | 3.0km |
| 21-05 | 41 | | Antwerp Port Epic / Sels Trophy (1.1) | 192.0km |
| 18-05 | 97 | | Circuit de Wallonie (1.1) | |
| 14-05 | 38 | | Boucles de l'Aulne - Châteaulin (1.1) | 181.0km |
| 13-05 | 55 | | Tour du Finistère (1.1) | 193.0km |
| 07-05 | 111 | | Tro-Bro Léon (1.Pro) | 204.0km |
| 06-05 | 105 | | Grand Prix du Morbihan (1.Pro) | 188.0km |
| | | Tour of the Alps (2.Pro) |
| 65 | | Klassement |
| 21-04 | 45 | 65 | Stage 5Cavalese - Brunico (144.0km) | 144.0km |
| 20-04 | 98 | 86 | Stage 4Rovereto - Predazzo (152.0km) | 152.0km |
| 19-04 | 105 | 81 | Stage 3Ritten - Brentonico San Valentino (162.0km) | 162.0km |
| 18-04 | 62 | 71 | Stage 2Reith im Alpbachtal - Ritten (165.0km) | 165.0km |
| 17-04 | 83 | 83 | Stage 1Rattenberg - Alpbach (127.0km) | 127.0km |
| 11-04 | 11 | | Paris - Camembert (1.1) | 209.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 26 | | Klassement |
| 07-04 | 27 | 26 | Stage 4Sablé-sur-Sarthe - Le Mans (124.0km) | 124.0km |
| 06-04 | 21 | 35 | Stage 3Baugé-en-Anjou - Mayenne (152.0km) | 152.0km |
| 05-04 | 50 | 52 | Stage 2Clisson - Le Lion-d'Angers (122.0km) | 122.0km |
| 04-04 | 49 | 51 | Stage 1Saint-Nazaire - Saint-Gilles-Croix-de-Vie (141.0km) | 141.0km |
| 26-03 | 73 | | La Roue Tourangelle (1.1) | 202.0km |
| 19-03 | 32 | | Cholet - Pays de la Loire (1.1) | 205.0km |
| 18-03 | 36 | | Classic Loire Atlantique (1.1) | 182.0km |
| 15-03 | 103 | | Danilith Nokere Koerse (1.Pro) | 193.0km |
| 05-03 | 123 | | Grote Prijs Jean - Pierre Monseré (1.1) | 198.0km |
| 04-03 | 54 | | Grand Prix Criquielion (1.1) | 201.0km |
| | | O Gran Camiño (2.1) |
| 27 | | Klassement |
| 26-02 | 30 | 27 | Stage 4Novo Milladoiro - Santiago de Compostela (17.0km) | 17.0km |
| 25-02 | 31 | 33 | Stage 3Parque Natural Serra da Enciña da Lastra - Rubia (170.0km) | 170.0km |
| 24-02 | 36 | 36 | Stage 2A Guarda - Monte Trega (188.0km) | 188.0km |
| 13-02 | 49 | | Jaén Paraiso Interior
(1.1) | |
| 12-02 | 110 | | Clasica de Almeria (1.Pro) | 190.0km |
| 11-02 | DNF | | Vuelta Ciclista a la Región de Murcia "Costa Cálida"
(1.1) | 194.0km |
| | | Saudi Tour (2.1) |
| 79 | | Klassement |
| 03-02 | 68 | 79 | Stage 5Alula - Maraya (142.0km) | 142.0km |
| 02-02 | 50 | 79 | Stage 4Maraya - Skyviews of Harrat Uwayrid (163.0km) | 163.0km |
| 01-02 | 75 | 85 | Stage 3Al Manshiyah - Abu Rakah (159.0km) | 159.0km |
| 31-01 | 103 | 92 | Stage 2Alula - Shalal Sijlyat (184.0km) | 184.0km |
| 30-01 | 83 | 83 | Stage 1Alula - Khaybar (180.0km) | 180.0km |