Vuelta a Espana: Chris Froome protects his overall lead as Rafal Majka wins stage
Chris Froome protected his overall lead at the Vuelta a Espana but lost four seconds to Vincenzo Nibali as Rafal Majka claimed a breakaway victory on stage 14's summit finish.
Team Sky's Froome countered several attacks from Nibali on the day's final climb, but the Italian pushed on to take the time bonus for third place.
The Briton, who finished fourth, is now 55 seconds clear of his rival.
Astana rider Miguel Angel Lopez was second, 27 seconds behind Majka.
Saturday's 175km ride from Ecija to Sierra de La Pandera fractured dramatically along the narrow roads of its final four kilometres, featuring steepest sections at 15%.
With Team Sky looking comfortable at the front of a group behind the day's breakaway riders, Romain Bardet attacked.
The Frenchman was seemingly deemed far enough behind in the overall standings to be let go, but it signalled a counter move from riders far more threatening to Froome's overall lead, with Contador, Nibali and Esteban Chaves following.
Nibali and Contador progressed well in tandem, but Froome slowly reeled them in, aided by his team-mates Mikel Nieve and Wout Poels, and followed by Astana rider Lopez.
Astana's Fabio Aru and David De La Cruz of Quick-Step Floors were dropped, but despite the fierce drama down the road, Bora-Hansgrohe's Majka was calmly pacing himself to the line.
With about 1km remaining, Colombian Lopez then attacked viciously. He peeled away the elite group containing Froome, but he could not catch Majka.
The Polish 27-year-old, who finished third at the 2015 Vuelta, held out for an admirable victory, having joined the day's breakaway riders 20km into the race.
Sunday's stage 15 provides another serious test in the mountains - there is a summit finish at 2,510m - before Monday's rest day.
Stage 14 result
1. Rafal Majka (Pol/Bora-hansgrohe) 4hrs 42mins 10secs
2. Miguel Angel Lopez (Col/Astana) +27secs
3. Vincenzo Nibali (Ita/Bahrain-Merida) +31secs
4. Chris Froome (GB/Team Sky) Same time
5. Ilnur Zakarin (Rus/Katusha-Alpecin)
6. Wilco Kelderman (Ned/Team Sunweb)
7. Alberto Contador (Spa/Trek-Segafredo) +37secs
8. Wout Poels (Ned/Team Sky) +46secs
9. Esteban Chaves (Col/Orica-Scott) +57secs
10. Fabio Aru (Ita/Astana) +1mins 3secs
Overall standings after Stage 14
1. Chris Froome (GB/Team Sky) 58hrs 30mins 47secs
2. Vincenzo Nibali (Ita/Bahrain-Merida) +55secs
3. Wilco Kelderman (Ned/Team Sunweb) +2mins 17secs
4. Ilnur Zakarin (Rus/Katusha-Alpecin) +2mins 25secs
5. Esteban Chaves (Col/Orica-Scott) +2mins 39secs
6. Fabio Aru (Ita/Astana Pro Team) +3mins 09secs
7. David De La Cruz (Spa/Quick-Step Floors) +3mins 11secs
8. Alberto Contador (Spa/Trek-Segafredo) +3mins 19secs
9. Michael Woods (Can/Cannondale-Drapac) +3mins 23secs
10. Miguel Angel Lopez (Col/Astana Pro Team) +3mins 48secs