Przemyslaw Niemiec (Lampre-Merida) was the sole survivor of the day’s original four-man escape group that also included Wouter Poels (Omega Pharma-QuickStep), Jerome Coppel (Cofidis) and Maxime Mederel (Europcar). Niemiec ploughed a lone furrow at the start of the final climb of Puerto de Ancares, but the Sky-led peloton whittled down his advantage and he was caught just after the 10km-to-go marker.
Joaquim Rodriguez (Katusha) attacked with 8.5km to go, and Valverde tried to follow but dropped back and was caught by Froome, Contador and Fabio Aru (Astana). Froome and Contador then dropped Valverde and Aru to catch Rodriguez with 5.5km to go, with Froome setting the pace. Rodriguez paid for his earlier efforts was distanced with 4km to go.
Froome continued setting the pace, with Contador glued to his rear wheel. Contador then attacked Froome in the final kilometre, dropping the British rider and taking the stage win to cement his race lead.
Just Sunday’s final, short 9.7km individual time trial remains to sort out the winner of the 2014 Vuelta a Espana – but it looks highly unlikely that anyone can overhaul Contador now.
Vuelta a Espana 2014, stage 20: Santo Estevo de Ribas de Sil to Puerto de Ancares, 185.7km
1. Alberto Contador (Spa) Tinkoff-Saxo
2. Chris Froome (GBr) Sky at 16 secs
3. Alejandro Valverde (Spa) Movistar at 57 secs
4. Joaquim Rodriguez (Spa) Katusha at 1-18
5. Fabio Aru (Ita) Astana at 1-21
6. Warren Barguil (Fra) Giant-Shimano at 2-51
7. Giampaolo Caruso (Ita) Katusha at 2-55
8. Samuel Sanchez (Spa) BMC Racing at 2-58
9. Daniel Navarro (Spa) Cofidis at 3-15
10. Damiano Caruso (Ita) Cannondale at 3-20
Overall classification after stage 20
1. Alberto Contador (Spa) Tinkoff-Saxo in 81-12-13
2. Chris Froome (GBr) Sky at 1-37
3. Alejandro Valverde (Spa) Movistar at 2-35
4. Joaquim Rodriguez (Spa) Katusha at 3-57
5. Fabio Aru (Ita) Astana at 4-46
6. Samuel Sanchez (Spa) BMC Racing at 10-07
7. Daniel Martin (Irl) Garmin-Sharp at 10-24
8. Warren Barguil (Fra) Giant-Shimano at 12-13
9. Daniel Navarro (Spa) Cofidis at 13-09
10. Damiano Caruso (Ita) Cannondale at 13-15
Peloton holds tribute to Eusebio Garcia Flores, the Civil Guard who died during Monday's stage of the Vuelta a Espana
Adam Hansen surprises sprinters with solo win; No change to top 10 overall