Pierrick Fedrigo of France accelerated past a lone rival in a breakaway to win Sunday's ninth stage of the Tour de France as the race left the Pyrenees.
Rinaldo Nocentini of Italy retained the yellow jersey for a third consecutive day, with 2007 Tour winner Alberto Contador in second and his Astana teammate Lance Armstrong in third place overall.
Fedrigo, a 30-year-old rider who won a Tour stage in 2006, came out on top of a two-man battle with Italy's Franco Pellizotti in the 160.5-kilometre trek from Saint-Gaudens to Tarbes.
"It's pure happiness," Fedrigo said after speeding out ahead of Pellizotti following the final turn in Tarbes. "I knew I needed to go all out, and that's what I did."
He and Pellizotti clocked four hours five minutes 31 seconds. The peloton trailed 34 seconds behind.
This stage took riders up two hard climbs, including the Tourmalet Pass, and through the Roman Catholic shrine town of Lourdes.
The pack got off to a quick start in the flats before the Aspin and Tourmalet passes. After 24 kilometres, Armstrong bolted out ahead in a bid to catch breakaway riders — though he was caught by the peloton very quickly afterward.
Pellizotti and Fedrigo had surged clear with a bunch of breakaway riders before the 20 km mark, and kept the lead for most of the stage.
They crossed the Tourmalet Pass more than five minutes ahead of the peloton. They held on despite there being 70 kilometres remaining between the peak and the finish.
The main contenders were happy to let them go — Pellizotti was 15:23 off the race lead and Fedrigo 40:17 behind overall as the stage began.
The top standings didn't change. U.S. rider Levi Leipheimer remains fourth, 39 seconds behind Nocentini, while compatriot Christian Vande Velde is eighth, 1:24 behind.
Garmin-Slipstream rider and Victoria native Ryder Hesjedal is 70th overall after a 32nd-place finish Sunday.
Riders take the first rest day of the three-week event on Monday. The race ends July 26 in Paris.