The 25-year-old native of Britain's Isle of Man raised his hands in celebration at the end of the sixth stage from Montargis to Gueugnon.
The HTC Columbia rider earned his 12th career Tour stage victory and fifth in all races this year -- clocking 5 hours, 37 minutes, 42 seconds to edge Tyler Farrar, of the U.S., and Alessandro Petacchi of Italy.
The main title contenders crossed 3 seconds after Cavendish. Defending champion Alberto Contador was 28th, seven-time champion Lance Armstrong was 38th, and overall race leader Fabian Cancellara was 41st.
The top of the standings didn't change: Cancellara retained the yellow jersey he has worn everyday but one this year, Contador stayed ninth overall, and Armstrong kept his 18th spot. Cadel Evans, of Australia, a two-time Tour runner-up and the highest-placed potential title contender, is third -- 39 seconds behind Cancellara.
The heat appeared to be taking a toll on the riders as Carlos Barredo, of Spain, and Rui Costa, of Portugal, got into a fight after the finish. The cause of the fracas was not immediately clear, but video footage posted on the Web site of sports daily L'Equipe showed Barredo, of the Quick Step team, charging toward Costa and attempting to strike him over the head with a bike wheel.
Costa, who rides for Caisse d'Epargne, tried punching Barredo in the face several times before both fell to the ground screaming at one another. They were eventually separated and Tour organizers cited both for "insults and threats" and "incorrect behavior," fining each of them about $190.
Cavendish's victory came a day after he broke down in tears after winning Stage 5, experiencing a sense of redemption after failing to meet expectations he would win a stage earlier in the race.
Riders get their first real taste of climbing in today's seventh stage, a 102.8-mile trek from Tournus to Station des Rousses with six low- to mid-grade ascents in the Jura range.
The climbing begins in earnest Sunday, when the three-week race enters the Alps.