Race leader Froome finished second on the stage’s category one summit finish to take six bonus seconds ahead of Vincenzo Nibali (Bahrain-Merida), with the pair letting Lopez ride off for the stage win with a kilometre to go with the Colombian posing no threat on GC.
The day’s biggest losers were second place Esteban Chaves (Orica-Scott), who slips to third after losing 2-05 on the final climb, and third place Nicolas Roche (BMC) who slips to eighth place after being dropped with over 11km to go.
It means Nibali moves up to second place ahead of Chaves, while Wilco Kelderman (Sunweb) was the biggest mover on the day, jumping from 11th to fifth after finishing just behind Nibali in fourth.
How it happened
The riders set off towards a finale of two back-to-back category one climbs in pouring rain at the day’s start, with a 14-rider break getting up the road.
Romain Bardet (Ag2r La Mondiale), Bob Jungels (Quick-Step Floors), Alessandro De Marchi (BMC), Antonio Pedrero (Movistar), Lennard Hofstede (Sunweb), Simon Clarke (Cannondale-Drapac), Antwan Tolhoek (LottoNL-Jumbo), Matej Mohoric (UAE Team Emirates), Sander Armée (Lotto Soudal), Giovanni Visconti (Bahrain-Merida), Igor Anton (Dimension Data), David Arroyo (Caja Rural-Seguros RGA), Conor Dunne (Aqua Blue Sport) and Aldemar Reyes (Manzana Postobon) established a 4-45 max gap, and it looked possible that the break could build on their lead to a potential stage win.
With 55km to go they still had 3-40, but that had dropped to 1-19 by 43km remaining and it looked like it wouldn’t be long before they were caught.
The first of two category one climbs, the 13.2km Alto de Velefique, saw much of the group drop away, with Bardet leading a group of four riders up the climb with one minute on the bunch.
Simon Yates (Orica-Scott) was one of a few riders to bridge over to the front group from the break and eventually a foursome of Yates, Bardet, Visconti, Armée and Darwin Atapuma (UAE Team Emirates) gained over two minutes down the descent of the first climb.
Yates, Atapuma and Bardet then went clear on the descent, dropping Armée and then Visconti, and had 2-46 on the final climb of Observatorio Astronómico de Calar Alto at just over 15km in length.
Yates was then distanced with 13.8km to go and Bardet and Atapuma worked well together up the steepest parts of the climb.
Behind, the GC action got started as Alberto Contador (Trek-Segafredo) and Nibali went on the attack with 12km to go with 1-32 to the leading pair. Roche was then distanced on the climb and was unable to regain any ground, eventually losing 4-17.
Froome was able to stay there as Contador and Nibali pushed the pace with Fabio Aru (Astana) and Chaves dropped. The gap to Bardet had come down to 32 seconds by this point and as Bahrain-Merida pushed on, they were caught with 7km to go.
Nibali then attacked with 2km to go with Froome appearing to struggle initially.
Froome was then able to bridge over to Nibali with Lopez who made his decisive attack with 1.2km left.
Froome tried to pursue and looked like he might almost catch the Astana man, but was content to just let him go and stay with Nibali and Kelderman.
Lopez then soloed on to take stage victory, while Froome was able to out-sprint Nibali for second place and end the day with a 1-19 lead over second place overall.
The Vuelta a España continues with another mountain stage on Thursday, with a 160.1km route that includes a category one and category two climb.
Vuelta a España 2017, stage 11: Lorca to Calar Alto (187.5km)
1 Miguel Angel Lopez (Col) Astana Pro Team, in 5-05-09
2 Christopher Froome (GBr) Team Sky, at 14s
3 Vincenzo Nibali (Ita) Bahrain-Merida
4 Wilco Kelderman (Ned) Team Sunweb, all same time
5 Romain Bardet (Fra) AG2R La Mondiale, at 31s
6 Alberto Contador (Esp) Trek-Segafredo
7 Ilnur Zakarin (Rus) Katusha-Alpecin
8 Mikel Nieve (Esp) Team Sky, all same time
9 Darwin Atapuma (Col) UAE Team Emirates, at 1-02
10 David De La Cruz (Esp) Quick-Step Floors, at 1-14
General classification after stage 11
1 Christopher Froome (GBr) Team Sky, in 45-18-01
2 Vincenzo Nibali (Ita) Bahrain-Merida, at 1-19
3 Johan Esteban Chaves Rubio (Col) Orica-Scott, at 2-33
4 David de la Cruz (Spa) Quick-Step Floors, at 2-36
5 Wilco Kelderman (Ned) Team Sunweb, at 2-37
6 Ilnur Zakarin (Rus) Katusha-Alpecin, at 2-38
7 Fabio Aru (Ita) Astana Pro Team, at 2-57
8 Michael Woods (Can) Cannondale-Drapac, at 3-01
9 Alberto Contador Velasco (Spa) Trek-Segafredo, at 3-55
10 Miguel Angel Lopez (Col) Astana Pro Team, at 4-11