| 19-10 | DNF | | Veneto Classic (1.Pro) | 197.0km |
| 15-10 | 67 | | Giro del Veneto (1.Pro) | 169.0km |
| 04-10 | 42 | | UEC Road European Championships U23 (CC) | 121.0km |
| | | Okolo jižních Čech / Tour of South Bohemia (2.2) |
| 4 | | Standings |
| 15 | | Points |
| 10 | | Mountain |
| 4 | | Youth |
| 07-09 | 63 | 4 | Stage 4Trhové Sviny - Jindřichův Hradec (155.0km) | 155.0km |
| 06-09 | 3 | 5 | Stage 3Český Krumlov - Horská Kvilda (130.0km) | 130.0km |
| 05-09 | 65 | 76 | Stage 2Nové Hrady - Studená (167.0km) | 167.0km |
| 04-09 | 100 | 100 | Stage 1Třeboň - Jemnice (169.0km) | 169.0km |
| | | Tour Alsace (2.2) |
| 37 | | Standings |
| 5 | | Mountain |
| 24 | | Youth |
| 03-08 | 36 | 37 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 80 | 48 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 49 | 51 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 132 | 116 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 16 | 114 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 19-07 | DNF | | Stage 4Saint-Pierre - Valsavarenche (160.0km) | 160.0km |
| 18-07 | 41 | 41 | Stage 3Pré-Saint-Didier - Colle del Gran San Bernardo (121.0km) | 121.0km |
| 16-07 | 107 | 107 | Stage 1Aosta - Aosta (85.0km) | 85.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 73 | | Standings |
| 55 | | Points |
| 28 | | Mountain |
| 22-06 | 103 | 73 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 115 | 70 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 31 | 62 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 134 | 64 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 87 | 50 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 51 | 52 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 71 | 77 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 92 | 92 | Stage 1Rho - Rho (8.0km) | 8.0km |
| 06-06 | 11 | | Ridderronde van Maastricht (CRTP) | |
| | | Ronde de l'Isard (2.2U) |
| 6 | | Standings |
| 21 | | Mountain |
| 26 | | Points |
| 4 | | Youth |
| 25-05 | 38 | 6 | Stage 5Saubens - Saint-Girons (150.0km) | 150.0km |
| 24-05 | 6 | 6 | Stage 4Espéraza - Pla de Soulcem (124.0km) | 124.0km |
| 23-05 | 51 | 14 | Stage 3Aspet - Salies-du-Salat (142.0km) | 142.0km |
| 22-05 | 21 | 13 | Stage 2Luz-Saint-Sauveur - Cauterets-Cambasque (135.0km) | 135.0km |
| 21-05 | 18 | 18 | Stage 1Saint-Mont - Bagnères-de-Bigorre (149.0km) | 149.0km |
| 03-05 | 46 | | Flèche Ardennaise (1.2) | 174.0km |
| 19-04 | 42 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 27-03 | DNF | | Stage 3Riccione - Cesena (142.0km) | 142.0km |
| 26-03 | 104 | 115 | Stage 2Riccione - Sogliano al Rubicone (163.0km) | 163.0km |
| 25-03 | 139 | 139 | Stage 1Ferrara - Bondeno (174.0km) | 174.0km |
| 08-03 | DNF | | Grand Prix Criquielion (1.1) | 200.0km |
| | | Tour du Rwanda (2.1) |
| 4 | | Standings |
| 1 | | Youth |
| 7 | | Mountain |
| 02-03 | NR | 4 | Stage 7Kigali - Kigali (73.0km) | 73.0km |
| 01-03 | 2 | 4 | Stage 6Nyanza - Kigali (114.0km) | 114.0km |
| 28-02 | 7 | 7 | Stage 5Rusizi - Huye (143.0km) | 143.0km |
| 27-02 | 15 | 8 | Stage 4Rubavu - Karongi (97.0km) | 97.0km |
| 26-02 | 10 | 8 | Stage 3Musanze - Rubavu (121.0km) | 121.0km |
| 25-02 | 24 | 12 | Stage 2Kigali - Musanze (113.0km) | 113.0km |
| 24-02 | 45 | 14 | Stage 1Rukomo - Kayonza (158.0km) | 158.0km |
| 23-02 | 18 | 18 | PrologueKigali - Kigali (3.0km) | 3.0km |
| 16-02 | 85 | | Clasica de Almeria (1.Pro) | 189.0km |
| 26-01 | 65 | | Clàssica Comunitat Valenciana 1969 - Gran Premi València (1.1) | 184.0km |