Portugal's Rui da Costa held off a late dash from Belgian Phillipe Gilbert to win the eighth stage of the Tour de France.
Da Costa was the sole survivor of a nine-man breakaway at the end of the 189km stage through the Massif Central.
Gilbert surged from the chasing pack with less than 1km to go, followed by Australian Cadel Evans, who took third.
Thor Hushovd surprisingly climbed with the main group to retain the yellow jersey, one second ahead of Evans.
Scotland's David Millar slipped to 19 seconds off the lead in ninth position, while Welshman Geraint Thomas is 35th.
Costa punched the air as he grabbed the first Tour stage win of his career.
"I knew I could get in the breakaway today," he said.
"The team put me in the best position. I was lucky that I managed to hold on until the end. I'm very happy with this win.
"I attacked on my own at the end. I saw that my legs were good and that I could hold it alone. When it got to two kilometres from the end, I really worked hard and managed to reach my objective."
Another valiant effort from Gilbert saw the Belgian just fail to close a gap that had been around a minute going into the final kilometre.
"I needed a few more hundred metres," he said.
"The last 200 metres were very long, but I'll take a second place on the Tour de France any day."
Gilbert retained the green points jersey as a Tour which has uncharacteristically included several small climbs in the first week moved into real hills for the first time.
This stage brought this year's first category-two climb, up the Col de la Croix Saint-Robert, and finished with the category-three ascent to Super-Besse Sancy.
Costa's victory was launched from the remnants of a breakaway that began within 10 minutes of the stage start in Aigurande.
Frenchman Christophe Riblon instigated the move and was joined by eight others - including Costa - who managed to establish a lead of over five minutes.
One member of the break, HTC-Highroad's Tejay Van Garderen, took the lead in the King of the Mountains competition in his debut Tour after claiming maximum points on the penultimate climb.
With the gap closing rapidly on the final climb, Alexandre Vinokourov attempted to bridge and managed to close to within 15 seconds of Costa, but the Kazakh rider ran out of steam and Gilbert overtook him with about 400m left.
"Vino is really very strong, I take my hat off to him," Gilbert said.
"He deserved to win this stage."
Hushovd, who is not reknowned for his climbing ability, had been expected to lose the race lead on this stage and surprised himself by holding on to the yellow jersey.
"Maybe I was a bit pessimistic," he said. "I didn't think I could do it. Another day in yellow, it's a miracle."
Sunday's stage sees the Tour take on another the up-and-down route between Issoire and Saint-Flour, a stage which Australia's Evans hopes will finally see Hushovd relinquish the jersey.
"I have a very good team that's been working very hard every day," Evans said. "Let's wait and see what happens tomorrow."
American Chris Horner missed the morning's stage start with a fractured nose and heavy bruising and the aftermath of concussion, suffered in the same crash that ended the Tour hopes of Britain's Bradley Wiggins on Friday.
STAGE EIGHT RESULT:
1. Rui Da Costa (Por/Movistar) 4 hours 36 minutes 46 seconds
2. Philippe Gilbert (Bel/Omega Pharma-Lotto) +12"
3. Cadel Evans (Aus/ BMC Racing Team) +15"
4. Samuel Sanchez (Spa/ Euskatel-Euskadi) +15"
5. Peter Velits (Slovakia/ HTC-Highroad) +15"
6. Dries Devenyns (Bel/ Quick Step Cycling Team) +15"
7. Damiano Cunego (Ita/ Lampre-ISD) +15"
8. Alberto Contador (Spa/ Saxo Bank Sungard) +15"
9. Andy Schleck (Lux/ Team Leopard-Trek) +15"
10. Frank Schleck (Lux/ Team Leopard-Trek) +15"
1. Thor Hushovd (Nor/ Garmin-Cervelo) 33 hours 06 minutes 28 seconds
2. Cadel Evans (Aus/ BMC) +1"
3. Frank Schleck (Lux/ Leopard Trek) +4"
4. Andreas Kloeden (Ger/ RadioShack) +10"
5. Jakob Fuglsang (Den/ Leopard Trek) +12"
6. Andy Schleck (Lux/ Leopard Trek) +12"
7. Tony Martin (Ger/ HTC-Highroad) +13"
8. Peter Velits (Svk/ HTC-Highroad) +13"
9. David Millar (GB/ Garmin-Cervelo) +19"
10. Philippe Gilbert (Bel/Omega Pharma-Lotto) +30"