Spain's Alberto Contador secured his first stage win since returning from a doping ban last month to take the overall lead in the Vuelta a Espana.
The 29-year-old broke away with 13km to go of the 17th stage to finish ahead of compatriot Alejandro Valverde, who now lies second overall.
Contador began the stage 28 seconds behind Spaniard Joaquim Rodriguez, who dropped to third in the standings.
Great Britain's Chris Froome finished five minutes down but retains fourth.
But the day belonged to Contador, who initially attacked with a group of 19 riders about 60km from the finish of the relatively flat 187km ride from Santander to Fuente De before forging clear on his own.
Afterwards, an emotional Contador said: "I am not in my best moment but I had a really strong desire to win. Second place is fine but I was always going to try to win.
"I think we took a huge step forward. I want to dedicate this victory to everyone who has supported me during all this time, my family, my wife, my friends and all the fans."
Earlier in the race, overnight leader Rodriguez had been caught out as the peloton split at the halfway stage and only just managed to regain his place in the leading pack while Contador steadily extended his lead on the Collado La Hoz.
But Rodriguez floundered without the help of his team-mates and was totally left behind as Contador rode on to victory.
Saxo Bank-Tinkoff rider Contador let out two loud cries in celebration as he crossed the finish line six seconds ahead of Valverde to put himself in a good position to claim a second Vuelta crown and a first title since his return to competitive cycling.
The double Tour de France winner was found guilty of doping after testing positive for clenbuterol during the 2010 Tour and was given a backdated two-year ban earlier this year - losing his 2010 Tour and 2011 Giro titles as a result - and was out of competition for six months before returning in August.
He has maintained that the failed test was a result of eating contaminated meat.
Stage 17 results:
1. Alberto Contador (Spa/Saxo Bank) 4:29:20"
2. Alejandro Valverde (Spa/Movistar) +6"
3. Sergio Henao (Col/Team Sky)
4. Gorka Verdugo (Spa/Euskaltel)
5. Rinaldo Nocentini (Ita/AG2R) +19"
10. Joaquim Rodriguez (Spa/Katusha) +2:38"
Overall standings after 167 stages:
1. Alberto Contador (Spa/Saxo Bank) 68:07:54"
2. Alejandro Valverde (Spa/Movistar) +1:52"
3. Joaquim Rodriguez (Spa/Katusha) +2:28"
4. Chris Froome (GB/Team Sky) +9:40"
5. Daniel Moreno (Spa/Katusha) +11:36"
6. Robert Gesink (Ned/Rabobank) +12:06"
7. Laurens ten Dam (Ned/Rabobank) +12:55"
8. Andrew Talansky (US/Garmin) +13:06"
9. Igor Anton (Spa/Euskaltel) +13:49"
10. Benat Intxausti (Spa/Movistar) +14:10"