Madrid - Czech rider Leopold Konig (NetApp) produced an impressive final climb to win the eighth stage of the Tour of Spain as Ireland's Nicolas Roche (Saxo) took the overall lead of the race.
Konig just held off a late surge by Daniel Moreno (Katusha) to take the 166.6km stage from Jerez de la Frontera to Estepona with 29-year-old Roche - son of 1987 Tour de France winner Stephen - finishing third.
Overnight leader Vincenzo Nibali (Astana) was one of many favourites to suffer on the 14.5km category-one climb to the finish as he fell to fourth, 18 seconds off the lead, in the overall standings with Chris Horner (RadioShack) and Moreno tied for second 17 seconds back.
It was a happy ending for the Roche family after the day had started on a poor note with Nicolas Roche's cousin Daniel Martin having to withdraw from the race as he was suffering from concussion after a heavy fall in Friday's stage.
"I am not used to having the leader's jersey, but I like it, it is like a dream," Roche said afterwards.
"Every year I come to the Tour of Spain I think about having the red jersey for one day and it is incredible to do it.
"I don't know how long I'll be in the lead but even just a day or two more would be a bonus."
Konig was the other big winner of the day as he moved from 14th in the overall standings to fifth with his first stage win in a grand tour.
"It was quite surprising. The first part of the climb was really steep but at the end it was quite steady and I knew that if I survived the first part I could survive until the end," the 25-year-old told TVE.
"My intention was just to go for the general classification rather than a stage win and try to get into the top 10.
"But when all the team is working for you it is something that gives you a lot of confidence. It is a dream come true."
The gruelling climb up the Alto Penas Blancas to the finish was always expected to split the peloton after three days of racing more favourable to the sprinters.
Igor Anton (Euskaltel-Euskadi) was first to make a move for home five kilometres from the end, but he was soon followed by Thibaut Pinot (FDJ), Ivan Basso (Cannondale), Konig, Moreno and Roche.
Konig then moved in front with just over a kilometre to go and held off Moreno's final attack to take the victory.
The Spaniard's final push was enough though to move him up from eighth to second in the overall classification alongside Horner who came in 23 seconds behind Konig with Nibali finishing a further four seconds back in 16th.
1. Leopold König (CZE/APP) 4hr09min 46sec
2. Daniel Moreno (ESP/KAT) at 0:01sec
3. Nicolas Roche (IRL/SAX) 0:05.
4. Thibaut Pinot (FRA/FDJ) 0:05.
5. Ivan Basso (ITA/CAN) 0:05.
6. Bart De Clercq (BEL/LTB) 0:08.
7. Igor Anton (ESP/EUS) 0:13.
8. Alejandro Valverde (ESP/MOV) 0:19.
9. Joaquin Rodriguez (ESP/KAT) 0:19.
10. Rigoberto Uran (COL/SKY) 0:23.
11. Chris Horner (USA/RSH) 0:23.
12. Rafal Majka (POL/SAX) 0:23.
13. Domenico Pozzovivo (ITA/ALM) 0:23.
14. Haimar Zubeldia (ESP/RSH) 0:23.
15. Sergio Henao (COL/SKY) 0:27.
16. Vincenzo Nibali (ITA/AST) 0:27.
17. Warren Barguil (FRA/ARG) 0:31.
18. Ivan Santaromita (ITA/BMC) 0:40.
19. Yoann Bagot (FRA/COF) 0:40.
20. David Arroyo (ESP/CJR) 0:40.
1. Nicolas Roche (IRL/SAX) 31h39min 30sec
2. Chris Horner (USA/RSH) at 0:17sec
3. Daniel Moreno (ESP/KAT) 0:17.
4. Vincenzo Nibali (ITA/AST) 0:18.
5. Leopold König (CZE/APP) 0:29.
6. Haimar Zubeldia (ESP/RSH) 0:30.
7. Alejandro Valverde (ESP/MOV) 0:31.
8. Rigoberto Uran (COL/SKY) 0:42.
9. Rafal Majka (POL/SAX) 0:52.
10. Joaquin Rodriguez (ESP/KAT) 1min 03sec
11. Ivan Santaromita (ITA/BMC) 1:17.
12. Ivan Basso (ITA/CAN) 1:28.
13. Thibaut Pinot (FRA/FDJ) 1:37.
14. Eros Capecchi (ITA/MOV) 1:42.
15. Domenico Pozzovivo (ITA/ALM) 1:59.
16. Tanel Kangert (EST/AST) 2:01.
17. Laurens ten Dam (NED/BKN) 2:02.
18. Michele Scarponi (ITA/LAM) 2:03.
19. Bart De Clercq (BEL/LTB) 2:22.
20. Warren Barguil (FRA/ARG) 2:25.