La Camperona - Canada's Ryder Hesjedal pipped Swiss rider Oliver Zaugg in a brutal climb to the finish line to win the 14th stage of the Vuelta a Espana as Alberto Contador extended his overall lead on Saturday.
Zaugg looked to have the stage victory wrapped up when he broke away from the leading group with two kilometres of the 8.3km climb to the end of the 200.8km stage from Santander to La Camperona, but 2012 Giro d'Italia winner Hesjedal pegged him back in the final 200m to claim victory.
Contador finished 12th on the day, 22 seconds ahead of fellow Spaniard Alejandro Valverde, to extend his overall race lead to 42 seconds.
Britain's Chris Froome clawed back some time on Contador as he finished seven seconds ahead of the two-time Vuelta champion in 10th to move ahead of Rigoberto Uran into third place overall, 1min 13sec behind Contador.
A large early breakaway group had been cut down to 12 riders by the time they started the climb for home, whilst the general classification leaders remained in the peloton.
Zaugg looked to have given himself enough of an advantage as he pulled away from the rest of the pack, but he ran out of steam on the demanding climb to the finish on gradients as severe as 24 percent in places as Hesjedal passed him in the final stages.
Hesjedal had been under scrutiny earlier in the week after a video showed his bike continuing to move on the ground after he crashed on stage seven leading to allegations that a motor could have been fitted.
However, his Garmin-Sharp team were cleared of any wrongdoing after the International Cycling Union checked the bikes and the 33-year-old was delighted to make amends for his struggles earlier in the race.
"The chance to fight in the general classification went out the window early on, but I knew i was in good physical condition and I had to keep fighting," he said.
"I thought I had a really good shot on stage seven but unfortunately I crashed there, so I went all in today and it is an incredible feeling to get the win."
Behind Hesjedal, the race favourites began battling for vital time with Valverde the first to attack inside the last two kilometres.
The Movistar rider was easily followed by Contador, though, whilst Froome then began to move through the field after appearing to be struggling early on in the climb.
And Froome eventually opened up a small gap on Contador to show he is still more than capable of challenging for his first Vuelta win with two more mountain finishes to come in the next two days.
Uran was the real loser on the day, though, as the Colombian lost over a minute on Froome and Joaquim Rodriguez to fall back to fifth overall.
"It was incredible, the climb seemed interminable especially in the last 100 metres," said Contador.
"I am happy of course, it is true Froome and Rodriguez gained a little bit of time on me, but against the rest of my rivals I gained time, especially against Alejandro so I have to be happy."
Sunday's 15th stage sees another demanding 12.2km climb to the finish of the 152.2km ride from Oviedo to Lagos de Covadonga.
STAGE 14 RESULTS
1. Ryder Hesjedal (Canada / Garmin) 5:18:10"
2. Oliver Zaugg (Switzerland / Tinkoff - Saxo) +10"
3. Imanol Erviti (Spain / Movistar) +30"
4. Alexandr Kolobnev (Russia / Katusha) +39"
5. Louis Meintjes (South Africa / Team MTN) +42"
6. Bart De Clercq (Belgium / Lotto) +52"
7. Romain Sicard (France / Europcar) +1:44"
8. David Arroyo (Spain / Caja Rural) +2:02"
9. Carlos Verona (Spain / Omega Pharma - Quick-Step) +2:15"
10. Chris Froome (Britain / Team Sky) +2:36"
11. Joaquim Rodriguez (Spain / Katusha) +2:37"
12. Alberto Contador (Spain / Tinkoff - Saxo) +2:43"
13. Fabio Aru (Italy / Astana) +2:45"
14. Alejandro Valverde (Spain / Movistar) +3:05"
15. Daniel Martin (Ireland / Garmin) +3:21"
1. Alberto Contador (Spain / Tinkoff - Saxo) 54:20:16"
2. Alejandro Valverde (Spain / Movistar) +42"
3. Chris Froome (Britain / Team Sky) +1:13"
4. Joaquim Rodriguez (Spain / Katusha) +1:29"
5. Rigoberto Uran (Colombia / Omega Pharma - Quick-Step) +2:07"
6. Fabio Aru (Italy / Astana) +2:15"
7. Robert Gesink (Netherlands / Belkin) +4:14"
8. Daniel Martin (Ireland / Garmin) +4:37"
9. Damiano Caruso (Italy / Cannondale) +4:45"
10. Daniel Navarro (Spain / Cofidis) +5:10"
11. Warren Barguil (France / Giant) +6:02"
12. Wilco Kelderman (Netherlands / Belkin) +6:18"
13. Daniel Moreno (Spain / Katusha) +7:18"
14. Mikel Nieve (Spain / Team Sky) +8:58"