Gijon - Sky's Chris Froome inched closer to his dream of adding the Vuelta a Espana to his Tour de France title, by maintaining his 1min 37sec lead over key rival Vincenzo Nibali in the 19th stage on Friday.
Four-time and reigning Tour de France winner Froome is now hot favourite to become only the third rider to clinch the French-Spanish double in the same year.
Belgium's Thomas de Gendt won a bunch sprint ahead of Jarlinson Pantano and Ivan Garcia at the finish line in the Atlantic coastal town of Gijon, to join a small circle of riders to have clinched stage wins in all three Grand Tours.
The day's racing, however, was lit up by a heroic escape bid from fading local superstar Alberto Contador.
"I'm feeling better than ever," joked the three-time Vuelta champion on his farewell Tour.
"I'm just going to enjoy the last couple of days," said Contador, who has vowed to do everything he can for local fans to finish in the top three.
Contador launched his attack on the last climb and opened up a lead of over a minute, before being reeled in with 2km to race.
Froome, Nibali and Wilco Kelderman, third overall at 2min 17sec, came in together several minutes after De Gendt along with Contador.
Briton Froome now goes into one final challenge on Saturday's 117km penultimate stage, which features two difficult mountain passes and a dramatic summit finish.
"There are plenty of tough climbs tomorrow, it's going to be brutal, everyone is tired at this stage of the race, but I'm feeling fine," insisted Froome.
"It'll be madness tomorrow," agreed Contador.
"Anything might happen."
1. Thomas De Gendt (BEL/Lotto) 3hrs 35min 46sec, 2. Jarlinson Pantano (COL) at same time, 3. Ivan Garcia (ESP) s.t., 4. Rui Costa (POR) s.t., 5. Floris De Tier (BEL) s.t., 6. Bob Jungels (LUX) s.t., 7. Romain Bardet (FRA) s.t., 8. Nicolas Roche (IRL) s.t., 9. Daniel Navarro (ESP) s.t., 10. Koen Bouwman (NED) at 45sec.
29. Chris Froome (GBR) 12:15, 30. Vincenzo Nibali (ITA) 12:15, 36. Wilco Kelderman (NED) 12:15, 38. Alberto Contador (ESP) 12:15, 39. Ilnur Zakarin (RUS) 12:15.
1. Chris Froome (GBR/Sky) 75hr 51:51, 2. Vincenzo Nibali (ITA/BAH) at 1:37, 3. Wilco Kelderman (NED/SUN) 2:17, 4. Ilnur Zakarin (RUS/KAT) 2:29, 5. Alberto Contador (ESP/TRE) 3:34, 6. Miguel Angel Lopez (COL/AST) 5:16., 7. Michael Woods (CAN/CAN) 6:33, 8. Fabio Aru (ITA/AST) 6:33, 9. Wout Poels (NED/SKY) 6:47, 10. Steven Kruijswijk (NED/LNL) 10:26.