Froome was again well protected by his Sky team-mates to finish fifth on the stage, six seconds ahead of Vincenzo Nibali, to open up a 1 minute 01 second lead over the Italian in the general classification.
"There was a lot of big attacks today and the team stayed with me," said Froome.
"They controlled with the correct speed. It was just a fantastic day for the team."
Lopez, who claimed his first Grand Tour win in Wednesday's 11th stage, broke clear in the final five kilometres to win the mountainous 129.4km climb from Alcala la Real to the Sierra Nevada at 2 500m above sea level in 3:34.51.
"I'm delighted to have won in Calar Alto and here," said Lopez. "As a team we deserve it because we've been active."
Russia's Ilnur Zakarin attacked in the final kilometre to take second, 36 seconds back, and also climb ahead of Wilco Kelderman into third overall.
Kelderman was third, a further nine seconds adrift, but both he and Zakarin remain over two minutes behind Froome.
Nicknamed 'Superman', Lopez has shown off his strength on a series of punishing climbs in the past week as he also finished second on a category one summit finish on Saturday.
Lopez followed an attack by Alberto Contador away from the group of general classification favourites and then reeled in Britain's Adam Yates, who had attacked 25km out in search of his first Grand Tour win.
Victory also moved Lopez up to sixth overall, ahead of Astana teammate and 2015 Vuelta winner Fabio Aru.
Monday brings a welcome break for the peloton with the second rest day before Froome is expected to build on his lead once more on the only individual time trial of the race in Burgos on Tuesday.
"Sleep all day," confessed Froome when asked of his plans for the rest day.
However, Froome is bearing down on a historic feat as only the third rider to win the Tour de France and Vuelta in the same year, with just one week to go till the finale in Madrid.
"We've seen everything in this Vuelta: crashes, attacks, I think I can expect everything next week," he added.
"I'm just grateful to be in this position.
"Again a really big thank you to my team for the work they did today. It's because of them that I'm still in the red jersey."
Results from the Vuelta a Espana 15th stage, a 129.4km ride from Alcala de la Real to Sierra Nevada on Sunday:
Miguel Angel Lopez (COL/AST) 3hr 34min 51sec, 2. Ilnur Zakarin
(RUS/KAT) at 0:36, 3. Wilco Kelderman (NED/SUN) 0:45, 4. Esteban Chaves
(COL/ORI) 0:47, 5. Chris Froome (GBR/SKY) 0:47, 6. Michael Woods
(CAN/CAN) 0:50, 7. Vincenzo Nibali (ITA/BAH) 0:53, 8. Wouter Poels
(NED/SKY) 0:53, 9. Louis Meintjes (RSA/EAU) 0:53, 10. Peio Bilbao
11. Fabio Aru (ITA/AST) 1:02, 13. Alberto Contador (ESP/TRE) 1:27.
Chris Froome (GBR/Sky) 62h06:25, 2. Vincenzo Nibali (ITA/BAH) at 1:01,
3. Ilnur Zakarin (RUS/KAT) 2:08, 4. Wilco Kelderman (NED/SUN) 2:11, 5.
Esteban Chaves (COL/ORI) 2:39, 6. Miguel Angel Lopez (COL/AST) 2:51, 7.
Fabio Aru (ITA/AST) 3:24, 8. Michael Woods (CAN/CAN) 3:26, 9. Alberto
Contador (ESP/TRE) 3:59, 10. Wouter Poels (NED/SKY) 5:22