Luis Leon Sanchez outfoxed his three breakaway companions to claim victory on stage eight of the Tour de France.
The Caisse d'Epargne rider, who won stage seven of the Tour last year, stayed calm as Vladimir Efimkin attacked within the final kilometres of the run-in to Saint-Girons.
Sanchez initially stayed back as Mikel Astarloza and Sandy Casar reeled in the Russian before coming around Casar to win the sprint for the line.
Earlier in the stage, overall contender Cadel Evans launched an attack on the first climb of the day, forcing the Astana team to give chase.
Thor Hushovd joined Evans' breakaway group on the descent of the Port d'Envalira, enabling him to take first position in the first two intermediate sprints of the day.
The extra points were enough to leap-frog above Britain's Mark Cavendish in the sprinters standings, meaning the Norwegian will wear the green jersey on stage nine.
Evans was eventually caught and another breakaway, containing the eventual winner, was then allowed to go clear by the peloton.
On the final climb of the stage, the Col d'Agnes, Andy Schleck launched an attack that dropped yellow jersey wearer Rinaldo Nocentini but did not distance any of the major favourites.
However, Nocentini managed to regain contact with the help of some team-mates and rolled across the finish line inside the main group to retain his lead in the overall standings.
Sanchez's team-mate and 2006 Tour de France winner Oscar Pereiro decided to abandon the race during the eighth stage due to fatigue.
Stage eight result:
1 Luis Leon Sanchez (Spain/Caisse d'Epargne) 4hrs 31mins 50secs
2 Sandy Casar (France/Francaise des Jeux) same time
3 Mikel Astarloza (Spain/Euskaltel)
4 Vladimir Efimkin (Russia/AG2R) +3 secs
5 Jose Joaquin Rojas (Spain/Caisse d'Epargne) +1:54
6 Christophe Riblon (France/AG2R)
7 Peter Velits (Slovakia/Milram)
8 Sebastien Minard (France/Cofidis)
9 Jeremy Roy (France/Francaise des Jeux)
10 Thomas Voeckler (France/Bbox-Bouygues)
1 Rinaldo Nocentini (Italy/AG2R) 30hrs 18mins 16secs
2 Alberto Contador (Spain/Astana) +6secs
3 Lance Armstrong (U.S./Astana) +8
4 Levi Leipheimer (U.S./Astana) +39
5 Bradley Wiggins (Britain/Garmin) +46