Following his success in 2014, López was granted a contract with, a UCI WorldTeam. His success in stage races continued, finishing 4th overall and winning a stage at the Vuelta a Burgos and 7th overall in the Tour de Suisse.
2016
2016 was López's breakthrough season. He finished 4th in the Tour de San Luis, the first race of his season, winning Stage 6 and taking the young rider classification. One month later, López finished third and won a stage at the Tour de Langkawi, an eight-day race held in Malaysia. The biggest win yet of his career came at the Tour de Suisse, where he won the general classification ahead of Ion Izagirre and Warren Barguil. Following these successes, López was one of five riders selected to represent Colombia in the road race at the Olympics. López started his first grand tour at the Vuelta a España where he was the chosen team leader but he was forced to abandon the race on Stage 6 following a crash on Stage 3.
2017
López was named on the start list for the Vuelta a España in a strong Astana line-up alongside former race winner Fabio Aru. On Stage 11, he took his first grand tour stage victory, distancing himself from race favourites Chris Froome, Vincenzo Nibali and Wilco Kelderman in the last of the first-category climb up to the Calar Alto Observatory. López's fine form in the mountains continued on Stage 14 to Sierra de la Pandera where he once again distanced the race leaders to finish second to Rafał Majka on the first especial category climb of the race. He went on to win the following Stage 15 after a solo escape on the summit finish, yet again distancing the race favorites for his second Vuelta stage victory.
2018
In May 2018, he was named in the startlist for the Giro d'Italia; he finished in third place overall, behind Chris Froome and Tom Dumoulin.
2019
López won stage 4 and the general classification in the Volta a Catalunya in March. López competed in the Giro d'Italia, finishing seventh overall and winning the young rider classification for a second time in a row. During stage 20 of the race, López was brought down in an incident with a fan about from the finish. He proceeded to hit the spectator four times, including knocking the hat off his head. While the regulations of the sport's governing body, the Union Cycliste Internationale, call for disqualification of a rider who assaults someone during a race, the race jury decided against applying a punishment to López. He later apologised for the incident, but stated that riders should receive more respect from the crowd. One day later, after the Giro had ended, the UCI announced that they were investigating the lack of a penalty for his behaviour.