Chris Froome (Team Sky) has all but secured the overall victory in the 2017 Vuelta a España after finishing third behind stage winner Alberto Contador (Trek-Segafredo) on the race's final mountain day on Saturday.
All that remains for Froome to secure a historic first Vuelta a España victory for a British rider is to safely navigate Sunday's flat stage into Madrid. It will also be the first time a British rider has achieved the Tour de France-Vuelta double.
Contador capped off his successful career with one final Grand Tour win in his last race before retirement, also making it the first win for a Spanish rider in the 2017 Vuelta. He attacked at the bottom of the punishing Alto de l'Angliru to create a memorable solo performance.
Wout Poels led home Sky team-mate Froome to take second and third on the stage, and ensure that Froome extended his lead at the top of the general classification.
Froome now sits two minutes and 15 seconds ahead of second-placed Vincenzo Nibali (Bahrain-Merida), with Ilnur Zakarin (Katusha-Alpecin) moving up to third at 2-51. Contador is fourth at 3-11 as Wilco Kelderman (Team Sunweb) slipped from third to fifth at 3-15.
As it happened
The day's escape group attracted several big names in a last-ditch attempt to claim a stage victory. Eighteen riders formed into the day's break: Simon Yates, Adam Yates (Orica-Scott), Romain Bardet (Ag2r-La Mondiale), Igor Antón (Dimension Data), Rui Costa, Jan Polanc (UAE Team Emirates), Julian Alaphilippe, Enric Mas (Quick-Step Floors), Lluis Mas, Jaime Roson (Caja Rural-Seguros RGA), Nicolas Roche (BMC), Nelson Oliveira, Marc Soler (Movistar), Soren Kragh Andersen (Team Sunweb), Patrick Konrad (Bora-Hansgrohe), Tobias Ludvigsson (FDJ), Stefan Denifl (Aqua Blue Sport) and Tomasz Marczynski (Lotto-Soudal).
Trek-Segafredo led the peloton for Contador, and were not keen on the break gaining too much of an advantage. The gap was kept to around the minute mark as they hit the day's first classified climb of Alto de la Cobertoria.
Mas attacked out of the break on the ascent, and was joined by 10 other riders towards the top: both Yates brothers, Bardet, Denifl, Polanc, Soler, Konrad, Roson, Marczynski and Kragh Andersen.
Bahrain-Merida had taken up the pace-setting in the peloton, which was breaking apart on the Cobertoria and on the descent towards the Alto del Cordal. Several riders found themselves struggling with the pace, including David De La Cruz (Quick-Step Floors), Fabio Aru (Astana) and Ilnur Zakarin (Katusha-Alpecin).
Soler attacked from the break on the Cordal, but disaster struck for him on the descent as he crashed with 18.5km to go, sliding under a roadside barrier. Marczynski then inherited the lead on the stage.
The wet conditions caught out several other riders on the descent, including Vincenzo Nibali (Bahrain-Merida) and De La Cruz, the latter withdrawing from the race having started the day in 11th overall.
Marczynski hit the lower slopes of the Alto de L'Angliru first, with a gap of 1-44 on the peloton containing Froome.
Contador and Trek team-mate Jarlinson Pantano launched an attack from the bunch as they hit the Angliru, and were joined by Mas and Adam Yates from the break. Contador's move made Team Sunweb take over from Sky at the front of the GC group, trying to protect Kelderman's position overall. Nibali and Zakarin had also got back with Froome at this point.
Pantano swung off with 10km to go after a huge effort to distance the Froome group by 30 seconds. Yates, too, dropped back, leaving Contador with fellow Spaniard Mas as they chased Marczynski.
With Sunweb still taking up the chase work into the final 10km on Angliru, Froome was managing to save his team-mates, with five Sky riders accompanying their leader and giving Froome a distinct numerical advantage.
Contador and Mas caught up with Simon Yates, Marc Soler and Romain Bardet from the early break, before finally catching Marczynski with 8km to go and with a margin of 40 seconds over the Froome group.
An over-eager fan nearly brought Contador to a standstill at one point, but the Trek rider managed to stay upright and continue, dropping everyone else to go solo into the final 5km and open up his advantage to a minute over Froome's group. The latter included Kelderman, Nibali, Zakarin, Michael Woods (Cannondale-Drapac) and Steven Kruijswijk (LottoNL-Jumbo).
Kruijswijk attacked from the group in pursuit of Contador with 4km to go, but the rest of the Froome group remained intact until Poels and Froome accelerated away. Zakarin dropped Kelderman in the pursuit as Kruijswijk was caught and passed, but Nibali was unable to respond.
Up front, Contador pushed on to take a memorable stage victory, with Poels and Froome coming home for second and third. Nibali dropped 34 seconds at the finish but did enough to keep his second place ahead of Zakarin.
For his efforts in shepherding Froome, Poels also moves up to sixth place overall. Not so lucky was Fabio Aru (Astana), who finished 15-07 down on Contador and slipped from eighth to 13th overall.
The 2017 Vuelta a España concludes on Sunday with a flat stage into Madrid, with a bunch sprint finish expected.
Vuelta a España 2017, stage 20: Corvera de Asturias to Alto de l'Angliru, 117.5km
1. Alberto Contador (Esp) Trek-Segafredo, in 3-31-33
2. Wout Poels (Ned) Team Sky, at 17 secs
3. Chris Froome (GBr) Team Sky, at same time
4. Ilnur Zakarin (Rus) Katusha-Alpecin, at 35 secs
5. Franco Pellizotti (Ita) Bahrain-Merida, at 51 secs
6. Vincenzo Nibali (Ita) Bahrain-Merida
7. Steven Kruijswijk (Ned) LottoNL-Jumbo, at same time
8. Wilco Kelderman (Ned) Team Sunweb, at 1-11
9. Romain Bardet (Fra) Ag2r La Mondiale, at 1-25
10. Michael Woods (Can) Cannondale-Drapac, at 1-36
General classification after stage 20
1. Chris Froome (GBr) Team Sky, in 79-23-37
2. Vincenzo Nibali (Ita) Bahrain-Merida, at 2-15
3. Ilnur Zakarin (Rus) Katusha-Alpecin, at 2-51
4. Alberto Contador (Esp) Trek-Segafredo, at 3-11
5. Wilco Kelderman (Ned) Team Sunweb, at 3-15
6. Wout Poels (Ned) Team Sky, at 6-45
7. Michael Woods (Can) Cannondale-Drapac, at 7-56
8. Miguel Angel Lopez (Col) Astana, at 8-59
9. Steven Kruijswijk (Ned) LottoNL-Jumbo, at 11-04
10. Tejay van Garderen (USA) BMC Racing, at 15-36
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1