Froome suffered two crashes in quick succession, seeing him lose contact with a group containing all of his general classification rivals in the final 10km of the race.
Froome retained the race lead, but saw his advantage over second-placed Nibali slip to 59 seconds. Chaves is third at 2-13.
Ahead of the fight for general classification positions, Polish rider Tomasz Marczynski (Lotto-Soudal) took his second stage victory of the race after attacking from the day’s escape group. Omar Fraile (Dimension Data) placed second, with Jose Joaquin Rojas (Movistar) coming in for third.
How it happened
The first hour of racing was run off at a fast pace, with no chance for an escape group to form as the bunch averaged 47.7kmh.
After that, the speed eased off and 14 riders managed to break free from the front of the peloton: David Arroyo (Caja Rural-Seguros RGA), Brendan Canty (Cannondale-Drapac), Stef Clement (LottoNL-Jumbo), Julien Duval (Ag2r-La Mondiale), Omar Fraile (Dimension Data), Peter Koning (Aqua Blue Sport), Tomasz Marczynski (Lotto-Soudal), Michael Mørkøv (Katusha-Alpecin), Anthony Perez (Cofidis), Jan Polanc (UAE Team Emirates), Pawel Poljanski (Bora-Hansgrohe), José Joaquin Rojas (Movistar), Andreas Schillinger (Bora-Hansgrohe) and Edward Theuns (Trek-Segafredo).
It was satisfying to see Koning representing Aqua Blue Sport in the break after the team suffered the shock of having their team bus severely damaged by an arsonist.
The group managed to quickly work up a decent gap over the bunch: over seven and a half minutes with 65km to go and as they tackled the long, steady category-one climb of Puerto del León.
The familiar sight of Ian Stannard and Christian Knees were at the front of the peloton for Team Sky, as the bunch tackled the climb with cruise control switched on. The break had increased their lead to over eight minutes by the time they hit the descent.
Duval over-cooked a corner, hitting the barrier and was forced to wait for a replacement bike and received attention from the medic’s car, but made it back into the break.
Meanwhile, Mørkøv attacked off the front of the escape to go solo with 38km to go. Koning then gave chase from the break, making the junction with Mørkøv to form a duo with 33km to go – but the move was short-lived, as they were caught by the rest of the break shortly after.
The break increased their lead even more, nudging nine minutes over the peloton as they reached the base of the category two climb of Puerto del Torcal.
Marczynski attacked from the break on the climb and over the top, opening up a minute’s gap over a chase group consisting of Fraile, Rojas, Canty and Poljanski.
In the bunch, Contador launched a move off the front, joined initially by Nicolas Roche (BMC) before the latter dropped back, unable to keep up with the Spaniard’s pace. As Contador tackled the climb, an odd incident occurred behind him as a spectator appeared to fall in front of a support motorbike, causing the moto to crash. It did not affect the riders.
Sky led the chase of Contador, whittling down the bunch considerably – but Contador drove a steady pace, opening up a gap of half a minute before he joined up with team-mate Theuns, who dropped back from the break.
Contador tucked in behind Theuns, the two riding a two-up time trial to try and keep the bunch at bay.
Froome suffered two badly-timed setbacks inside the final 10km, crashing once and then crashing again on a corner while attempting to get back in touch with the bunch after a bike change. Remarkably, the British rider appeared to suffer no significant injuries.
Sky’s Nieve and Poels went back to help Froome, riding as hard as they could to try and catch back up with the GC contenders group.
Froome’s mishap played into his rivals’ hands, with Astana driving the pace of the bunch, and Contador and Theuns continuing to stay ahead of them.
As Marczynski took the stage victory, Froome was still furiously trying to get back in touch with the group containing the other contenders – or limit any time loss.
Contador dropped Theuns, and managed to come in 22 seconds ahead of the GC group on the finish line, with Froome losing a further 20 seconds.
It’s the first time in the race that Froome has suffered such a setback – an unexpected incident on what should have been a straightforward stage for the GC riders.
The 2017 Vuelta a España continues on Friday with stage 13, a lengthy 198.4km trip from Coín to Tomares that offers possibly the flattest profile of the whole week. It could be a rare opportunity for the sprinters, although the final few kilometres do feature a rise to the finish line.
On Saturday and Sunday there are then a pair of testing stages featuring summit finishes before Monday’s second rest day. The race concludes on Sunday, September 10.
Vuelta a España 2017, stage 12: Motril to Antequera, 160.1km
1. Tomasz Marczynski (Pol) Lotto-Soudal, in 3-56-45
2. Omar Fraile (Esp) Dimension Data, at 52 secs
3. José Joaquin Rojas (Esp) Movistar
4. Pawel Poljanski (Pol) Bora-Hansgrohe
5. Stef Clement (Ned) LottoNL-Jumbo, at same time
6. Brendan Canty (Aus) Cannondale-Drapac, at 1-42
7. Anthony Perez (Fra) Cofidis, at 2-50
8. Jan Polanc (Slo) UAE Team Emirates
9. Andreas Schillinger (Ger) Bora-Hansgrohe, at same time
10. David Arroyo (Esp) Caja Rural Seguros RGA, at 3-00
13. Alberto Contador (Esp) Trek-Segafredo, at 7-25
17. Vincenzo Nibali (Ita) Bahrain-Merida, at 7-47
18. Esteban Chaves (Col) Orica-Scott, at 7-47
23. Fabio Aru (Ita) Astana, at 7-47
32. Chris Froome (GBr) Team Sky, at 8-07
General classification after stage 12
1. Christopher Froome (GBr) Team Sky, in 49-22-53
2. Vincenzo Nibali (Ita) Bahrain-Merida, at 59 secs
3. Esteban Chaves (Col) Orica-Scott, at 2-13
4. David De La Cruz (Esp) Quick-Step Floors, at 2-16
5. Wilco Kelderman (Ned) Team Sunweb, at 2-17
6. Ilnur Zakarin (Rus) Katusha-Alpecin, at 2-18
7. Fabio Aru (Ita) Astana Pro Team, at 2-37
8. Michael Woods (Can) Cannondale-Drapac, at 2-41
9. Alberto Contador (Esp) Trek-Segafredo, at 3-13
10. Miguel Angel Lopez (Col) Astana Pro Team, at 3-51