Frenchman Warren Barguil clinched his second stage win in four days as race leader Vincenzo Nibali's advantage was substantially reduced in the Tour of Spain on Monday.
Barguil somehow held on to win a photo finish with Colombian Rigoberto Uran as Poland's Bartosz Huzarski took third on the 146.8km 16th stage from Graus to Sallent de Gallego.
Italian Nibali, meanwhile, struggled mightily on the climb to the finish as he was dropped by American Chris Horner with around 3km to go, losing 22 seconds on the RadioShack rider and seeing his overall lead trimmed to just 28 seconds with five stages remaining.
Movistar's Alejandro Valverde remains in third place overall but he also gained time on Nibali and is now just 1min 14secs behind the Giro d'Italia winner.
After two brutal stages through the Pyrenees over the weekend, the pack was split for the majority of the day with a large leading group of over 20 riders being held in check by the chasing peloton.
The excitement didn't truly start therefore until around 10km to go when, after a series of failed attempts, Barguil eventually pulled clear at the front and quickly opened up a 30-second gap.
However, unlike his break to victory on Friday, the 21-year-old didn't have enough in the tank to maintain his lead all the way to the finish and was caught by Uran about a kilometre from home.
The Sky rider then seemed certain for a first stage victory in the Tour of Spain but Barguil somehow surged past him in the final sprint to the line to take the win.
"It has been a great tour for me. When I attacked I had very good legs but I saw Uran was coming and I thought it best to wait a little and go for the sprint," Barguil said afterwards.
"To beat such a great rider and win gives me great confidence."
Further back Valverde, the 2009 winner, and Joaquim Rodriguez, who in July finished third on the Tour de France, were attempting to break away from Nibali on the final climb, but unlike in the previous two days the 2010 champion wasn't able to stay with them as the Spanish duo both gained 28 seconds on the leader.
And Horner was also able to escape the clutches of Nibali in the final stages to put himself very much in contention to win his first Tour of Spain come Madrid on Sunday.
Nibali will at least have a day to recover, though, with Tuesday being a rest day before the 189km ride from Calahorra to Burgos on Wednesday.