Norway's Thor Hushovd won the eighth stage of the Tour de France with a last-gasp sprint to the line.
The Credit Agricole rider just edged out Luxembourg's Kim Kirchen in 3:54.22, with Erik Zabel of Germany third.
The 168km run from Lamballe to Quimper in Brittany was led for 138km by Matteo Tosatto, Jakob Piil and Ronny Scholtz but they were caught with 10km to go.
Thomas Voeckler of the Boulangere team came home with the peloton to retain the overall leader's yellow jersey.
Five-time and reigning champion Lance Armstrong remains well-placed in sixth, nine minutes and 35 seconds behind Voeckler.
Tosatto, Piil, Scholtz and a fourth rider, Karsten Kroon, broke away around 20km from the start, but Kroon suffered a puncture and was soon back in the pack.
The trio stretched their lead to nearly six minutes at the 90km mark, but they were gradually reeled in as heavy rain began to fall in Brittany.
Shortly after they were passed, a dog strayed into the road causing several riders to crash, but the pace-setters in the peloton were unaffected.
The field was strung out in the final 2km, with Paolo Bettini then Kirchen making moves as the finish approached.
But Hushovd seized the initiative with about 60 metres remaining to seal the second Tour stage win of his career.
The Norwegian champion is having a good Tour, with second and third-place finishes before his victory on Sunday.
On Monday, the 176 riders left in the event have a day off in Limoges before the race resumes on Tuesday.