The stage was awarded to Jeroen Blijlevens, who had finished second, after Zabel was stripped of the victory for what race officials described as "irregular sprinting". It was the third succesive year that the Dutchman had claimed a stage victory.
The German was placed last on the list of finishers in the 215.5km (134 miles) stage from Le Blanc, while Belgium's Tom Steels has been expelled from the Tour for violent behaviour during the sprint for the line.
Steels was seen by Tour officials to throw his water bottle at the Frenchman Frederic Moncassin.
Zabel, who won Tuesday's third stage, sprinted clear in the final straight and eased home ahead of Blijlevens and Djamolodine Abdujaparov, of Uzbekistan. Cedric Vasseur retained the yellow jersey for France. Zabel would have moved up to second place in the overall standings ahead of the Italian Mario Cipollini had he not been penalised. The 27-year-old German reportedly aimed a headbutt at Moncassin, who was disqualified from this season's Dauphine Libere for headbutting Zabel's team-mate, Rolf Aldag.
The controversial final sprint was also marked by Steels, the Belgian national champion, throwing his bottle at Moncassin after the Frenchman charged in front of him. Steels was subsequently thrown out of the Tour for "violent behaviour towards others" in the main group.
The stage saw the usual series of falls and pile-ups, which at one point left Vasseur, the first Frenchman to wear the yellow jersey since Stephane Heulot retired during the seventh stage last year, 200 yards adrift of the main group of riders. He managed to regain his ground, helped by his team-mate, Britain's Chris Boardman. "It was a dream today to see one's name painted on the road every kilometre. It was something I won't forget for the rest of my life," said Vasseur.
The 33-year-old Abdujaparov, three times winner of the green jersey, had been in a two-man breakaway with the Swiss rider Rolf Jaermann, winner of the Amstel Gold race in 1993, which built up a lead of over a minute and 40 seconds. Abdujaparov, nine-times a stage winner in the Tour de France, and Jaermann failed to take advantage of the disruption to the pack after the incident when Vasseur was left trailing. They were reeled in with 13km to go. Several teams, including Mapei, Batik and GAN, led the chase as they realised that chances for their sprinters to win a stage were running out before Monday's first mountain stage in the Pyrenees.
Pascal Lance, a time-trial specialist, had earlier broken up the leisurely pace of the pack by launching the first attack and building up a lead of 50 seconds with 60km to go. However, the 33-year-old Frenchman, eight- times a time-trial stage winner, was unable to sustain the pace on his own and was reeled in.
Cipollini was involved in the second of the pile-ups, cutting his right knee and injuring his hand. He was not a happy man after having a blazing row with his team manager, Antonio Salutini, on Thursday night about the lack of support he received earlier in the day, when he lost his yellow jersey to Vasseur.
The stage had to be diverted after demonstrators protesting over a planned nuclear dump blocked the planned route with nine tractors.
John Lichfield, page 11