Zabel, of the Telekom team, clocked 4 hours, 23 minutes and 7 seconds in the 199.5-kilometer (123.69-mile) run from Forges-les-Eaux to Alencon.
Spain's Oscar Freire was second and Robbie McEwen of Australia placed third, both with the same time.
Igor Gonzalez Galdeano of Spain retained the overall leader's yellow jersey. Three-time defending champion Lance Armstrong, who finished in 72nd place with the same time as Zabel, remained third overall, 7 seconds behind Gonzalez Galdeano.
The win was Zabel's 12th stage victory in the Tour, but his first since 1999. It followed two second-place finishes in this year's competition.
"This is really a nice victory for me,'' said Zabel, 32, who rode across the finish line in the green jersey worn by the Tour's best overall sprinter. "The competition for this sprint, and the green jersey, is really tough.''
Riders pushed the pace from the start, and a group of five breakaway riders held the lead for about 60 kilometers (37.2 miles). The main pack caught up less than a half-hour before the finish.
Alessio rider Alexandr Shefer of Kazakhstan was rushed to hospital after the day's only crash, which took place some 25 kilometers (15 kilometers) before the end.
A day earlier, a crash left two riders hospitalized and forced them to quit the race. Lampre rider Marco Pinotti was to return home to Italy with two chipped teeth, a broken nose and a cut to his upper lip that required 11 stitches. Belgium's Rik Verbrugghe, involved in the same Thursday crash, suffered a broken right collarbone.
Conditions were cool and overcast for much of Friday's stage, although the riders had brief rain near the final stretch. Thousands of fans, including cattle and sheep farmers, lined the route to watch riders speed by on the flat course.
Saturday's seventh stage is a 176-kilometer (109.1 mile) stretch through the Normandy battlefields of World War II from Bagnoles-de-L'Orne to Avranches, which is close to Mont-Saint-Michel.
Stage 6: Post-stage commentary
Stage 6: Live update summary
Stage 6 results, top 15 (Forges-les-Eaux - Alencon, 199.5 km)
1. Erik Zabel, Germany, Telekom, 4 hours, 23 minutes and 7 seconds.
2. Oscar Freire, Spain, Mapei, same time.
3. Robbie McEwen, Australia, Lotto, same time.
4. Jan Svorada, Czech Republic, Lampre, same time.
5. Sergei Ivanov, Russia, Fassa Bortolo, same time.
6. Baden Cooke, Australia, Francaise des Jeux, same time.
7. Thor Hushovd, Norway, Credit Agricole, same time.
8. Laurent Brochard, France, Jean Delatour, same time.
9. Arvis Piziks, Lithuania, CSC-Tiscali, same time.
10. Andrej Hauptman, Slovenia, Tacconi, same time.
11. Paolo Bossoni, Italy, Tacconi, same time.
12. Mauro Radaelli, Italy, Tacconi, same time.
13. Francois Simon, France, Bonjour, same time.
14. Stefano Casagranda, Italy, Alessio, same time.
15. Jose Enrique Gutierrez, Spain, Kelme, same time.
16. Stuart O'Grady, Australia, Credit Agricole, same time.
36. Igor Gonzalez Galdeano, Spain, Once, same time.
45. Richard Virenque, France, Domo Farm Frites, same time.
72. Lance Armstrong, United States, U.S. Postal, same time.
94. Joseba Beloki, Spain, Once, same time.
Stage 6 overall standings, top 10
1. Gonzalez Galdeano, 23:29:03
2. Beloki, 4 seconds behind
3. Armstrong, 7 seconds
4. Jorg Jaksche, Germany, Once, 12 seconds
5. Abraham Olano, Spain, Once, 22 seconds
6. Roberto Heras, Spain, U.S. Postal, 25 seconds
7. Isidro Nozal, Spain, Once, 27 seconds
8. Jose Azevedo, Portugal, Once, 28 seconds
9. George Hincapie, United States, U.S. Postal, 28 seconds.
10. Marcos Serrano, Spain, Once, 30 seconds.