Dutchman Pieter Weening won the eighth stage of the Tour de France over 231.5 km from Pforzheim to Gerardmer.
Weening held off Germany's Andreas Kloden, who rides for Jan Ullrich's T-Mobile team, in a two-man sprint for the line.
Lance Armstrong retained the race leader's yellow jersey after arriving with a small bunch of riders around 27secs later to retain his 1min 02sec advantage over Alexandre Vinokourov of the T-Mobile team, who sits in third place just behind Jens Voigt, who is at 1:00.
On the first real climbing day of the race, however, Vinokourov gave a glimpse of what could be in store for Armstrong in the coming days.
The 31-year-old Kazakh, who placed third overall in 2003 but missed the race through injury last year, attacked on the climb of the Col De la Schlut in a bid to drop Armstrong.
The American, who is bidding for a seventh consecutive yellow jersey, responded immediately, and moments later Vinokourov was back among a group which contained mostly all of the race contenders, although strangely no-one else from Armstrong's team.
Jan Ullrich, Roberto Heras, Alejandro Valverde and Brad McGee were all there, and shortly after Vinokourov had been brought back his T-Mobile teammate Kloden decided to go in search of stage leader Weening.
The young Dutchman had attacked earlier on with a group of riders, but was caught by Kloden just before the summit of the Schlut climb - the first category two climb of the race – which was around 15km from the finish.
Together both men descended furiously in a bid to keep the chasers at bay, but it wasn't long before Armstrong's group had closed the gap.
With only 10km to go to the stage finish, Kloden - who began the stage at 2min 29secs behind Armstrong in the general classification - only held a 10-sec lead on the group.
In the two-man sprint, Weening - who had a look of shock on his face when Kloden passed him at the summit minutes earlier - took his revenge on the German to claim a well-won stage which, nevertheless, was decided on a photo finish.