Vincenzo Nibali maintained his 50-second lead in the Vuelta a España after Frenchman Alexandre Geniez took a solo victory on stage 15.
The Italian finished alongside his four closest rivals in the overall standings after the second Pyrenean stage.
Geniez, part of a 28-man breakaway, took off 20km from the finish to surge away and finish three minutes clear.
Italian Michele Scarponi was second while Ireland's Nicholas Roche gained 13 seconds on Nibali to finish third.
Roche remains sixth overall, 3:49" behind Nibali after the 224.9 km stage from Andorra la Vella to Peyragudes in France, the most mountainous of the entire race.
Geniez took his maiden Grand Tour win after more than 5,000m of climbing and six hours of riding.
Spaniard Joaquim Rodriguez, fourth overall, made several attacks on the final ascent but was unable to shake off Nibali, who finished fourth on the stage.
"It was a very tough day, and Rodriguez pushed as hard as he could on that last climb," said Nibali. "I and my team had to work hard to keep everything under control."
Philippe Gilbert, the world road-race champion, and world time trial champion Tony Martin both pulled out during the stage.
The Road World Championships take place in Florence, Italy from 23-29 September.
Monday's final Pyrenean stage concludes with a summit finish at Sallent de Gallego. The Vuelta finishes next Sunday, 15 September, in Madrid.
Result of stage 15:
1. Alexandre Geniez (France / FDJ.fr) 6:20:12"
2. Michele Scarponi (Italy / Lampre) +3:02"
3. Nicolas Roche (Ireland / Saxo - Tinkoff) +3:07"
4. Vincenzo Nibali (Italy / Astana) +3:20"
5. Alejandro Valverde (Spain / Movistar)
6. Chris Horner (U.S. / RadioShack)
7. Joaquim Rodriguez (Spain / Katusha)
8. Domenico Pozzovivo (Italy / AG2R)
9. Jose Herrada (Spain / Movistar) +3:23"
10. David Arroyo (Spain / Caja Rural)
Overall standing after 15 stages:
1. Vincenzo Nibali (Italy / Astana) 60:20:21"
2. Chris Horner (U.S. / RadioShack) +50"
3. Alejandro Valverde (Spain / Movistar) +1:42"
4. Joaquim Rodriguez (Spain / Katusha) +2:57"
5. Domenico Pozzovivo (Italy / AG2R) +3:43"
6. Nicolas Roche (Ireland / Saxo - Tinkoff) +3:49"
7. Thibaut Pinot (France / FDJ.fr) +4:59"
8. Leopold Koenig (Czech Republic / NetApp) +6:18"
9. Samuel Sanchez (Spain / Euskaltel) +7:46"
10. Tanel Kangert (Estonia / Astana) +9:11"