En août, après une longue période sans compétition, il se classe et premier colombien de la course en ligne des Jeux olympiques. Deux semaines plus tard, il prend le départ du Tour d'Espagne, son deuxième grand tour de la saison. Régulier durant les trois semaines, il termine une nouvelle fois sur le podium, terminant troisième à 4 minutes de son compatriote Nairo Quintana et à plus de 2 minutes du vainqueur du Tour de France 2016 Christopher Froome. Profitant de sa forme, il gagne en costaud le Tour d'Émilie puis le , il devient le premier Colombien à remporter l'une des plus grandes classiques du calendrier cycliste en s'imposant au sprint sur le Tour de Lombardie. En fin d'année, il est classé du classement World Tour et du Classement mondial UCI.