Double champion de Colombie sur route (en 2017 et 2018), il a notamment remporté Paris-Nice en 2017 et des étapes du Tour du Pays basque et du Tour de Pologne. Il a également terminé neuvième au Tour d'Italie 2012, pour son premier grand tour et a joué un rôle d'équipier de Christopher Froome lors de ses victoires du Tour de France en 2016 et 2017 et du Tour d'Italie 2018. À deux reprises, il a été mis à l'écart en raison de problèmes dans son passeport biologique, qui ont été réglés par la suite, l'équipe Sky ayant investi dans des études non encore publiées sur son statut de « natif d'altitude », expliquant ses taux anormaux.