| | | Giro d'Italia Next Gen (2.2U) |
| 14-06 | DNS | | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 19 | 146 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 141 | 146 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 150 | 136 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 129 | 124 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 85 | 85 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| 26-05 | 25 | | Road Continental Pan-Am Championships U23 (CC) | |
| 21-05 | 4 | | Road Continental Pan-Am Championships TT U23 (CC) | |
| 07-04 | 38 | | Trofeo Piva (1.2U) | 123.0km |
| 01-04 | 30 | | Giro del Belvedere (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 58 | | Klassement |
| 23-03 | 73 | 58 | Stage 5Forlì - Forlì (157.0km) | 157.0km |
| 22-03 | 57 | 63 | Stage 4Brisighella - Brisighella (150.0km) | 150.0km |
| 21-03 | 48 | 64 | Stage 3Riccione - Riccione (134.0km) | 134.0km |
| 20-03 | 65 | 69 | Stage 2Riccione - Sogliano al Rubicone (140.0km) | 140.0km |
| 19-03 | 104 | 104 | Stage 1Pesaro - Pesaro (109.0km) | 109.0km |
| | | Tour Colombia (2.1) |
| 17 | | Klassement |
| 35 | | Punten |
| 14 | | Berg |
| 11-02 | 15 | 17 | Stage 6Sopó - Bogotá (155.0km) | 155.0km |
| 10-02 | 20 | 21 | Stage 5Cota - Alto del Vino (138.0km) | 138.0km |
| 09-02 | 11 | 39 | Stage 4Paipa - Zipaquirá (181.0km) | 181.0km |
| 08-02 | 11 | 40 | Stage 3Tunja - Tunja (155.0km) | 155.0km |
| 07-02 | 69 | 68 | Stage 2Paipa - Santa Rosa de Viterbo (169.0km) | 169.0km |
| 06-02 | 14 | 19 | Stage 1Paipa - Duitama (155.0km) | 155.0km |
| 27-01 | 1 | | National Road Championships - Colombia U23 (CN) | 144.0km |
| 25-01 | 3 | | National Road Championships - Colombia TT U23 (CN) | 35.0km |
| | | Vuelta al Tachira en Bicicleta (2.2) |
| 14 | | Klassement |
| 27 | | Punten |
| 21-01 | 25 | 14 | Stage 8San Cristóbal - San Cristóbal (117.0km) | 117.0km |
| 20-01 | 20 | 15 | Stage 7Ureña - Cerro Del Cristo Rey (140.0km) | 140.0km |
| 19-01 | 12 | 15 | Stage 6El Piñal - Borota (129.0km) | 129.0km |
| 18-01 | 10 | 16 | Stage 5La Tendida - La Grita (134.0km) | 134.0km |
| 17-01 | 25 | 25 | Stage 4Tovar - Mérida (127.0km) | 127.0km |
| 16-01 | 19 | 37 | Stage 3San Juan de Colón - La Tendida (125.0km) | 125.0km |
| 15-01 | 36 | 40 | Stage 2San Josecito - San Cristóbal (141.0km) | 141.0km |
| 14-01 | 89 | 82 | Stage 1San Cristóbal - San Cristóbal (150.0km) | 150.0km |