Stage 15: Bagnères-de-Bigorre - Luz-Ardiden - 159.5km.
Lance Armstrong increased his lead in the Tour de France despite almost crashing out on stage 15.
The American went down while attacking on the climb to the finish when a spectator's bag caught his brake lever.
But he produced an incredible fightback to take the stage and widen the gap to second-placed Jan Ullrich to one minute seven seconds.
Sylvain Chavanel of Brioches la Boulangere looked on course to take the stage but was caught by Armstrong with four kilometres left.
Frenchman Chavanel had made an early break with Team Telekom's Santiago Botero, and dropped the Colombian on the Col du Tourmalet.
But all the drama went on in the chasing group as Armstrong and Ullrich battled for control of the race.
After the initial crash, Armstrong almost went down again moments later when his foot slipped off the pedal.
Ullrich refrained from attacking while Armstrong recovered, as is the convention after a rider suffers a fall. But as soon as the champion had caught up he launched a second, decisive attack.
He finished the stage with a 40-second advantage over Ullrich, to which was added a 20-second bonus for winning the stage.
Armstrong said: "This morning, I knew this was going to be a great day for me and for the Tour. I knew that if I wanted to win the Tour, I
needed to attack today.
"I could not wait for the last time trial," he said,
referring to Saturday's 49-km timed test between Pornic and Nantes.
Armstrong said he was partially to blame for the crash. "I think it was a spectator's bag. But it was also my fault for riding too close to the right side of the road," he said.
"After the crash, I had a big rush of adrenaline. I told myself 'come on Lance, you must win the Tour today'."
Alexandre Vinokourov started the day in third place, just 18 seconds behind Armstrong, but found the climbs tough and finished the day two minutes 45 seconds back.
It was the category one climb up the Col du Tourmalet that initially split the field and, at one stage, looked as though it could prove disastrous for Armstrong.
He went into the stage under enormous pressure, with Ullrich only 15 seconds behind in the general classification after dominating the weekend stages.
And Armstrong was briefly left behind when the German attacked on the category one climb up the Col du Tourmalet, but managed to haul his way across the 100m gap.
Armstrong said he was still wary of Ullrich's ability to strike back in the remaining few days.
"The Tour finishes on the Champs Elysees. Jan Ullrich is a great rider and everything is possible in the time trial," said the 31-year-old.
"What matters most for me now is that I will be able to look at my team mates in the eyes tonight in the hotel."
Ullrich said: "It's still a wide open race - I'm very confident for the time trial."
He added: "In the past, when Armstrong did his thing in the mountains, I would lose two minutes. I only lost one minute this time. So
that's not too negative.
"I knew Lance would attack today but I could not follow him when he did.
"I just climbed at my own pace, trying to limit the damage. I'm not an explosive climber like he is. I need a steady pace," added the 1997 Tour winner.
Stage 15 Result:
1. Lance Armstrong (US) US Postal - 4hrs 29mins 26secs
2. Iban Mayo (Spa) Euskaltel - at 40secs
3. Jan Ullrich (Ger) Team Bianchi - same time
4. Haimar Zubeldia (Spa) Euskaltel - same time
5. Christophe Moreau (Fra) Credit Agricole - same time
6. Ivan Basso (Ita) Fassa Bortolo - at 47secs
7. Tyler Hamilton (US) Team CSC - at 1min 10secs
8. Alexander Vinokourov (Kaz) Team Telekom - at 2mins 7secs
9. Jose Luis Rubiera (Spa) US Postal - at 2mins 45secs
10. Sylvain Chavanel (Fra) Brioches - 2mins 47secs