Italy's Fabio Aru won the 18th stage of the Vuelta a Espana after a sprint to the finish line with Britain's Chris Froome in Galicia.
It lifted Froome to second place in the overall standings and kept alive his slim hopes of snatching the title.
Team Sky's Froome overtook Spain's Alejandro Valverde but still trails overall leader Alberto Contador, whose lead was cut to one minute 19 seconds.
Astana rider Aru is fifth overall after the 157km stage.
Most of the leading riders from the general classification were in contention as the field left A Estrada and climbed Monte Castrove twice.
France's Warren Barguil attempted a breakaway on the second ascent but was clawed back as several teams, including Froome's Sky and Joaquim Rodriguez's Katusha, attempted to help their lead riders.
After Aru and Froome raced ahead, cresting the summit together before dashing for the line, Spaniard Contador, battled for fifth place, dropping some potentially vital seconds on Froome.
The 19th stage takes place on Friday - a 180.5km leg from Salvaterra do Mino to Cangas do Morrazo.
Stage 18 result:
1. Fabio Aru (Ita/Astana) 3hrs 47mins 17secs
2. Chris Froome (GB/Team Sky) +1sec
3. Alejandro Valverde (Spa/Movistar) +13secs
4. Joaquim Rodriguez (Spa/Katusha) same time
5. Alberto Contador (Spa/Tinkoff-Saxo) same time
6. Samuel Sanchez (Spa/BMC Racing) +17secs
7. Daniel Navarro (Spa/Cofidis) +33secs
8. Daniel Moreno (Spa/Katusha) +48secs
9. Damiano Caruso (Ita/Cannondale) same time
10. Warren Barguil (Fra/Giant) same time
Overall classification after stage 18:
1. Alberto Contador (Spa/Tinkoff-Saxo) 71hrs 38mins 37secs
2. Chris Froome (GB/Team Sky) +1min 19secs
3. Alejandro Valverde (Spa/Movistar) +1min 32secs
4. Joaquim Rodriguez (Spa/Katusha) +2mins 29secs
5. Fabio Aru (Ita/Astana) +3mins 15secs
6. Daniel Martin (Irl/Garmin) +6mins 52secs
7. Samuel Sanchez (Spa/BMC Racing) +6mins 59secs
8. Warren Barguil (Fra/Giant) +9mins 12secs
9. Daniel Navarro (Spa/Cofidis) +9mins 44secs
10. Damiano Caruso (Ita/Cannondale) +9mins 45secs