|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22/10/2019 | | 2.WT3r | | | | 5 | | Tour of Guangxi, Mountains classification | | 4 | |
| 22/10/2019 | | 2.WT3 | | | | 2 | | Tour of Guangxi | | 145 | |
| 20/10/2019 | | 2.WT3s | | | | 2 | | Tour of Guangxi, Stage 4 : Nanning - Nongla | | 18 | |
| 29/09/2019 | | WCRR | | | | 29 | | World Championships (Harrogate) R.R. | | 11 | |
| 25/09/2019 | | WCTT | | | | 30 | | World Championships (Harrogate) I.T.T. | | 5 | |
| 15/09/2019 | | GT2 | | | | 41 | | Vuelta a España | | 25 | |
| 3/09/2019 | | GT2s | | | | 10 | | Vuelta a España, Stage 10 : Jurançon (FRA) - Pau (FRA) I.T.T. | | 1 | |
| 24/08/2019 | | GT2s | | | | 4 | | Vuelta a España, Stage 1 : Salinas de Torrevieja - Torrevieja T.T.T. | | 3 | |
| 5/05/2019 | | 2.WT1 | | | | 25 | | Tour de Romandie | | 11 | |
| 28/04/2019 | | 1.WT1 | | | | 20 | | Liège - Bastogne - Liège | | 24 | |
| 13/04/2019 | | 2.WT2 | | | | 20 | | Itzulia Basque Country | | 18 | |
| 8/04/2019 | | 2.WT2s | | | | 2 | | Itzulia Basque Country, Stage 1 : Zumarraga - Zumarraga I.T.T. | | 22 | |
| 17/03/2019 | | 2.WT1r | | | | 8 | | Paris - Nice, Mountains classification | | 1 | |
| 17/03/2019 | | 2.WT1r | | | | 2 | | Paris - Nice, Points classification | | 28 | |
| 17/03/2019 | | 2.WT1 | | | | 18 | | Paris - Nice | | 26 | |
| 17/03/2019 | | 2.WT1s | | | | 4 | | Paris - Nice, Stage 8 : Nice - Nice | | 10 | |
| 16/03/2019 | | 2.WT1s | | | | 1 | | Paris - Nice, Stage 7 : Nice - Col de Turini | | 45 | |
| 14/03/2019 | | 2.WT1s | | | | 5 | | Paris - Nice, Stage 5 : Barbentane - Barbentane I.T.T. | | 5 | |
| 17/02/2019 | | 2.1 | | | | 3 | | Tour Colombia | | 66 | |
| 16/02/2019 | | 2.1s | | | | 4 | | Tour Colombia, Stage 5 : La Union - La Union | | 3 | |
| 12/02/2019 | | 2.1s | | | | 1 | | Tour Colombia, Stage 1 : Medellin T.T.T. | | 5 | |
| 1/02/2019 | | NCT2 | | | | 1 | | National Championships Colombia (Villavicencio) I.T.T. | | 50 | |