Spain's Marcos Serrano attacked in the final climb to Mende to give his Liberty Seguros team their first victory on this year's Tour de France at the end of Thursday's 189-km 18th stage from Albi.
France's Cedric Vasseur was second, 27 seconds behind, after a late burst of acceleration took him past Belgian Axel Merckx, who was third in the same time.
The three belonged to a group of 10 riders who had been given the go-ahead by the main bunch to have their day in the heat of the Massif Central.
On the podium, race leader Lance Armstrong received the 80th yellow jersey of his career, one more than France's Bernard Hinault, a five-times winner between 1978 and 1985.
The American, who finished 11 minutes and 18 seconds behind Serrano with most of the other lead riders, still leads Italian Ivan Basso by 2:46 overall and is firmly on course for an unprecedented seventh Tour triumph this weekend.
Third-placed Michael Rasmussen of Denmark is now 3:46 adrift after losing 37 seconds on the final climb.
The peloton observed a minute's silence at the start in Albi in memory of Australian rider Amy Gillett, who was killed in a traffic accident on Monday while training with the national women's road racing team in Germany.
EARLY BREAKAWAY
As the race got underway, an early breakaway took shape as 10 riders headed out in search of one of the last stage victories on offer and built up a lead of 15 minutes.
In the last climb, as each of the breakaways lost ground one after the other, Serrano, Merckx and Vasseur were left to battle it out for the stage victory.
Serrano surged three kilometres from the top and Merckx, who had seemed the most active towards the finish, and Vasseur were both left behind.
Further back, Italy's Ivan Basso launched a blistering attack from the bottom of the steep final climb and only Armstrong, Australian Cadel Evans and German Jan Ullrich were able to react.
Rasmussen, third overall, was dropped and lost time on Ullrich, who is expected to claim back more time in Saturday's individual time trial in St Etienne in his bid for a seventh Tour podium finish on Sunday.
Friday's 19th stage between Issoire and Le Puy en Velay will be the shortest road stage in this Tour at 153.5 km.