The pair left their rivals behind on the Alto Xorret de Catí climb within the final five kilometres, gaining crucial time. Froome stretched out his lead over second-placed Esteban Chaves (Orica-Scott) to 28 seconds, with Irishman Nicolas Roche (BMC) in third at 41 seconds.
Meanwhile, Frenchman Julian Alaphilippe (Quick-Step Floors) took his first Grand Tour stage victory at the head of the race, sprinting ahead of fellow escapees Jan Polanc (UAE Team Emirates) and Rafal Majka (Bora-Hansgrohe).
How it happened
A relatively calm first half of the stage’s course saw a 21-rider break form, which stretched out a lead of five minutes and 30 seconds at its greatest. Team Sky led the pacemaking behind them for Froome, picking up their speed as the race hit the final 50km.
As the race headed towards the key final climb of Alto Xorret de Catí, it became evident that the winner would be settled from the escape group.
Emanuel Buchmann (Bora-Hansgrohe) and Laurens de Vreese (Astana) attacked from the escape just before the final climb, but were reeled back in fairly promptly.
Buchmann then was in another move with team-mate Rafal Majka (Bora), Julian Alaphilippe (Quick-Step Floors) and Serge Pauwels (Dimension Data). Pauwels soon dropped off the pace as Majka followed Buchmann’s wheel, with Alaphilippe sat in.
Buchmann swung off after a hard effort, leaving just Majka and Alaphilippe in the race lead with two kilometres to the top of the Alto Xorret de Catí. Neither rider looked as though they wanted to give the other a free tow to the summit, riding either side of the road on the gruelling 20-plus per cent gradients.
Behind the break, the peloton was constantly shedding riders. Simon Yates (Orica-Scott) was one of the first to make a move from the front of the bunch, as he was joined by Daniel Moreno (Movistar), Alberto Contador (Trek-Segafredo) and Michael Woods (Cannondale-Drapac).
Froome and Chaves rode up to them, with Froome then launching an attack near the top with only Contador able to following his stinging move. The two riders continued toward the summit, with Froome accelerating ahead over the top before Contador rejoined him on the descent.
At the front of the race, Majka and Alaphilippe’s cat-and-mouse played into the hands of Jan Polanc (UAE Team Emirates), who caught them on the descent. Alaphilippe opened up his sprint, and the other two were unable to match his pace into the finish with Polanc taking second.
Froome and Contador rode together to the line, gaining 15 seconds on the remnants of the general contenders group.
It meant that Froome extended his lead over second-placed Chaves to 28 seconds. Contador benefitted from his move by climbing up to 17th overall, 3-10 behind Froome.
Vincenzo Nibali (Bahrain-Merida) moves up to fourth overall as Tejay van Garderen (BMC) slipped to fifth.
Sunday serves up another stage with a crucial climb in the finale – this time with no descent. Stage nine from Orihuela to Cumbre del Sol starts with a long flat section followed by two ascents of the Alto de Puig Llorença, one serving as a softener before the final climb to the line. Expect a fight for GC places before Monday’s rest day.
One of the biggest headlines of the day was Warren Barguil’s non start. Team Sunweb withdrew the Frenchman from the race overnight, citing that he was not following the team’s plan in support of leader Wilco Kelderman.
Jesper Hansen (Astana) and Cesare Benedetti (Bora-Hansgrohe) both abandoned the race during the stage.
Vuelta a España 2017, stage eight: Hellín to Xorret de Catí, 199.5km
1. Julian Alaphilippe (Fra) Quick-Step Floors, in 4-37-55
2. Jan Polanc (Slo) UAE Team Emirates, at 2 secs
3. Rafal Majka (Pol) Bora-Hansgrohe, at same time
4. Serge Pauwels (Bel Dimension Data, at 26 secs
5. Nelson Oliveira (Por) Movistar, at 28 secs
6. Michel Kreder (Ned) Aqua Blue Sport, at 32 secs
7. Maxime Monfort (Bel) Lotto-Soudal, at same time
8. Bart De Clerq (Bel) Lotto-Soudal, at 34 secs
9. Alberto Losada (Esp) Katusha-Alpecin, at 37 secs
10. Emanuel Buchmann (Ger) Bora-Hansgrohe, at 1-04
13. Alberto Contador (Esp) Trek-Segfredo, at 1-27
14. Chris Froome (GBr) Team Sky, at 1-27
16. Vincenzo Nibali (Ita) Bahrain-Merida, at 1-44
17. Fabio Aru (Ita) Astana, at 1-44
20. Esteban Chaves (Col) Orica-Scott, at 1-44
23. Adam Yates (GBr) Orica-Scott, at 1-55
26. Nicolas Roche (Irl) BMC Racing, at 1-55
29. Tejay van Garderen (USA) BMC Racing, at 1-55
34. Simon Yates (GBr) Orica-Scott, at 2-35
General classification after stage eight
1. Chris Froome (GBr) Team Sky, in 32-26-13
2. Esteban Chaves (Col) Orica-Scott, at 28 secs
3. Nicolas Roche (Irl) BMC Racing, at 41 secs
4. Vincenzo Nibali (Ita) Bahrain-Merida, at 53 secs
5. Tejay van Garderen (USA) BMC Racing, at 58 secs
6. Fabio Aru (Ita) Astana, at 1-06
7. David De La Cruz (Esp) Quick-Step Floors, at 1-08
8. Adam Yates (GBr) Orica-Scott, at 1-18
9. Michael Woods (Can) Cannondale-Drapac, at 1-41
10. Ilnur Zakarin (Rus) Katusha-Alpecin, at 1-57
17. Alberto Contador (Esp) Trek-Segafredo, at 3-10