Spain's Joaquin Rodriguez extended his lead in the Vuelta a Espana after beating rival Alberto Contador in a sprint finish in the 14th stage.
Rodriguez overtook Contador in the final 300m of the climb to the summit finish at Puerto de Ancares.
The result left Rodriguez with a 22-second overall advantage over Contador, while Britain's Chris Froome is tied third overall after finishing fifth.
Spanish duo Alejandro Valverde and Daniel Moreno came third and fourth.
The Asturias mountains in northern Spain hosted the 149.2km race from Palas De Rei, which featured five climbs concluding with a 9.5km ascent to the line.
Contador, who began the day 13 seconds behind Rodriguez, looked like closing the gap on the leader when he opened up a 100m lead in the closing three kilometres but was stunned when Rodriguez stormed past him in a thrilling finish.
Team Sky's Froome, second in last year's Vuelta and aiming to follow team-mate Bradley Wiggins in winning a Grand Tour, tried to keep pace with the front two but faded in the last kilometre to finish fifth, 38 seconds behind Rodriguez.
The Brit, the only non-Spanish rider in the top five, is now tied third overall, level with Valverde, with both riders one minute, 41 seconds behind Rodriguez.
A group of five riders made an early break after only 5km, although they were joined by a further 11 competitors less than 20km later - and the 16-man group had an advantage of almost three minutes with 37km left.
However, Rodriguez's Katusha team-mate, Alberto Losada, attacked the leading bunch and he held a two-minute lead before being caught late on.
Sunday's stage 15 is a 186.5km (115.89 miles) race from La Robla to Lagos de Covadonga. The 21st and final stage takes place on 9 September.
Stage 14 results
1. Joaquin Rodriguez (Spa/Katusha) 4:10:28"
2. Alberto Contador (Spa/Saxo Bank) +5"
3. Alejandro Valverde (Spa/Movistar) +13"
4. Daniel Moreno (Spa/Katusha) +35"
5. Chris Froome (GB/Team Sky) +38"
General classification after 14 stages
1. Joaquin Rodriguez (Spa/Katusha) 53:06:33"
2. Alberto Contador (Spa/Saxo Bank) +22"
3. Chris Froome (GB/Team Sky) +1:41"
4. Alejandro Valverde (Spa/Movistar) +1:41"
5. Daniel Moreno (Spa/Katusha) +4:16"