Froome finished behind stage winner Alberto Contador on Alto de l’Angliru to extend his advantage at the top of the general classification with just Sunday’s processional stage into Madrid to come.
Froome will become the first Briton to win La Vuelta and only the third man to complete the Tour-Vuelta double – and first since the race switched from April to its present post-Tour position in 1995.
Trek-Segafredo’s Contador took a sensational and emotional solo victory in his final grand tour before retirement but came 20 seconds short of a place on the podium.
Behind him, Froome and Team Sky lieutenant Wout Poels crossed the line 17 seconds later, extending the Briton’s lead to two minutes 15 seconds in the general classification after closest rival Vincenzo Nibali struggled on the final climb following an earlier crash.
Froome has finished second on three occasions at La Vuelta, but will finally get his hands on a second of the three grand tours providing he safely crosses the line in Sunday’s processional final stage into Madrid.
Four-time Tour de France winner Froome took an advantage of one minute and 37 seconds over Bahrain-Merida’s Nibali into the 117.5km stage from Corvero de Asturias to Alto de l’Angliru.
The short stage included three categorised climbs, but it was the final ascent of the Angliru where fireworks were expected.
The brutal final climb, with a gradient average of 9.8 per cent over 12.5km and ramps of 18 per cent, was where Bradley Wiggins lost the leader’s red jersey on stage 15 in 2011.
But Froome, who finished second that year, had no such problem as he and Poels attacked shortly after Nibali started dropping back with under 2km to go.
Alberto Contador ensured Spain had a stage victory on home turf (AFP/Getty Images)
Contador, a three-time Vuelta winner, had attacked on the early slopes of the final climb, to the delight of the locals.
Such was the fervour in the crowd, Contador needed an escort through the masses of bodies on the roads and even collided with a fan with 6km left, but the 34-year-old remained upright.
He was over three minutes adrift of Froome in the GC standings, so the Briton’s focus was firmly on Nibali, whose chances of launching a race-winning attack suffered when he was one of a number of riders to crash on the slippy descent of Alto de la Cordal.
He caught back up with Froome’s group before the Angliru but cracked in the closing stages.
Nibali remained in second overall, 36 seconds clear of Team Katusha Alpecin’s Ilnur Zakarin, who is set to take his first grand tour podium.