Lopez, 31, has spent his entire career with Spanish teams since turning pro in 2005 with Euskaltel-Euskadi, with the last six years spent at Movistar who were formerly known as Caisse d’Epargne.
"I am very happy to have signed for Team Sky," he said. "This last year has been a challenge and I’m really looking forward to starting this new chapter of my career with a modern and forward-thinking team.
"As soon as Team Sky approached me, there was nobody else I wanted to sign for and I want to work as hard as I can to gain success for the team. Most of the time that will be for someone else, but if the chance arises for me as well, then I will definitely try and take it.
"The most important thing, though, is that everyone is happy with my work. I already have a special relationship with riders like Xabier Zandio, Rigoberto Urán and Sergio Henao, and Nicolas Portal is a good friend as well, but I want to make plenty more friends here and really integrate myself within the team.”
Lopez has appeared in 11 Grand Tours. The biggest win of his career came in 2010 when he took a solo victory on the ninth stage of the Vuelta a Espana.
Team Sky sports director Nicolas Portal said: "David is a great rider to have on the team and a perfect fit for Team Sky in terms of his approach and his personality. He has a lot of experience and is a calming influence for all those around him.
"I know from riding alongside David that he is very impressive on the climbs, whether he is riding for himself or riding for a team-mate. He is very loyal and hard working and we are excited to have him on the team."