Italy's Lorenzo Bernucci avoided a mass pile-up in the final kilometre to win stage six of the Tour de France.
The Fassa Bortolo rider held off T-Mobile's Alexandre Vinokourov, whose second place saw him climb to third in the general classification.
Lance Armstrong still leads the overall standings after also avoiding the big crash on a sharp right-handed corner.
But France's Christophe Mengin, who had led for most of the last 10km, was not so lucky and crashed in wet conditions.
"I feel more like a boxer after a fight than a cyclist," said Mengin, whose left eye was black and swollen after he was hit by one of the many bikes which ended up crashing into him.
"I've got a bit of a black eye where I think a brake lever or gear shifter hit it, and I've got a sore hip on my left side."
The 36-year-old Frenchman, who rides for Francaise des Jeux, launched an enterprising early attack in the company of three other riders, with whom he built a maximum lead of over eight minutes on the peloton.
He decided to go it alone in the final 20km, although his task was not made any easier by the difficulty of the undulating terrain - or the tricky finish in Nancy which featured a number of tight bends.
However, his attempt for victory had all but come to an end, with Vinokourov hot on his heels, when he went over in the final kilometre.
Vinokourov's bid also ended when he rounded the corner and had to slow down to avoid hitting the fallen Frenchman and Bernucci - who had taken the corner more tightly but still managed to stay in control - surged ahead.
Behind him around six riders, including Stuart O'Grady and Baden Cooke, went down in the ensuing pile up as a number of riders crashed on the corner.
Both O'Grady and Cooke got back on their bikes and finished the stage, and none of the main contenders for the yellow jersey got in harm's way, including Armstrong.
"It's always dangerous when it's raining like that," Armstrong said, admitting he had been helped by the radio advice of his team manager Johan Bruyneel.
"We always have a good look at the stages when they have a difficult finale. But Johan was telling us through the radio earpieces about the dangerous sections in the end, telling us to turn left or right. It was a dangerous stage."
Stage results (Top 10)
1. Lorenzo Bernucci (Ita) Fassa Bortolo at 4:12:52"
2. Alexandre Vinokourov (Kaz) (T-Mobile) at same time
3. Robert Foerster (Ger) Gerolsteiner at 7 secs
4. Angelo Furlan (Ita) Domina Vacanze at same time
5. Thor Hushovd (Nor) Credit Agricole
6. Kim Kirchen (Lux) Fassa Bortolo
7. Gianluca Bortolami (Ita) Lampre-Caffita
8. Egoi Martinez (Spa) Euskaltel
9. Gerrit Glomser (Aus) Lampre-Caffita
10. Kurt-Asle Arvesen (Nor) Team CSC
Overall standings (Top 10)
1. Lance Armstrong (USA) Discovery Channel 17:58:11
2. George Hincapie (USA) Discovery Channel at 55 secs
3. Alexandre Vinokourov (Kaz) T-Mobile at 1:02
4. Jens Voigt (Ger) Team CSC at 1:04
5. Bobby Julich (USA) Team CSC at 1:07
6. Jose Luis Rubiera (Spa) Discovery Channel at 1:14
7. Yaroslav Popovych (Ukr) Discovery Channel at 1:16
8. Benjamin Noval (Spa) Discovery Channel at 1:26
9. Ivan Basso (Ita) Team CSC at 1:26
10. Kurt-Asle Arvesen (Nor) Team CSC at 1:32