Mark Cavendish sprinted to his 30th Tour de France win and fourth this year with another supreme performance on stage 14 as Chris Froome retained the overall lead.
Cavendish (Dimension Data) breezed past Marcel Kittel (Etixx - Quick-Step) at the start of the sprint and then held off runner-up Alexander Kristoff (Katusha) and third-placed Peter Sagan (Tinkoff) by a bike's length in Villars-les-Dombes.
Brief doubt was cast over the win when Kittel complained that Cavendish had cut across his racing line after flying past, but the jury saw no wrongdoing and the result stood.
Cavendish is now just four short of Eddy Merckx's all-time record of 34 Tour stage wins, and he could have an opportunity to close the gap to three on Monday's 16th stage into Bern.
Froome (Team Sky), meanwhile, finished safely in the peloton in 60th place to remain 1min 47sec ahead of second-placed Bauke Mollema (Trek-Segafredo) and 2min 45sec in front of third-placed Adam Yates (Orica-BikeExchange) at the top of the general classification.
Cavendish said: "I followed Kittel. I saw them hit out quite early, Quick-Step, so I knew Kittel would be out on the front quite soon into this headwind, so I had to wait, wait, wait, let him die and then come around.
"I jumped around him and, obviously, I was bearing to the right. He has kicked off a little, but bit I was way past him, so I don't think there was anything wrong there. He was just frustrated I have won four and he hasn't."
Stage 14 started in Montelimar and covered 208.5km of largely flat terrain, but the race fell well behind schedule as the riders struggled in a 35kmh headwind for much of the day.
Although Dimension Data did much of the pace-setting in the last few kilometres, Cavendish opted to jump on to Kittel's wheel in the final 1km and was consequently perfectly placed when the German was first to launch his sprint.
Cavendish immediately followed and made light work of surging past, only to then swerve slightly right and force the beaten Kittel to throw his arm in the air in protest.
Cavendish then held off late surges from both Kristoff and Sagan to continue what is now his most prolific Tour since 2011.
Fellow Briton Dan McLay (Fortuneo-Vital Concept) finished 18th, while Ireland's Sam Bennett (Bora-Argon 18) was 12th.
The Tour continues on Sunday with a mountainous, 160km 15th stage from Bourg-en-Bresse to Culoz. Find out more about the route in our race guide and follow the stage with our live blog from 12pm BST.
Stage 14 result
1 Mark Cavendish (GB) Dimension Data, 5:43:49
2 Alexander Kristoff (Nor) Katusha, same time
3 Peter Sagan (Svk) Tinkoff, st
4 John Degenkolb (Ger) Giant-Alpecin, st
5 Marcel Kittel (Ger) Etixx - Quick-Step, st
6 Andre Greipel (Ger) Lotto Soudal, st
7 Bryan Coquard (Fra) Direct Energie, st
8 Davide Cimolai (Ita) Lampre-Merida, st
9 Christophe Laporte (Fra) Cofidis, st
10 Samuel Dumoulin (Fra) Ag2r-La Mondiale, st
General classification
1 Chris Froome (GB) Team Sky, 63:46:40
2 Bauke Mollema (Ned) Trek-Segafredo, +1:47
3 Adam Yates (GB) Orica-BikeExchange, +2:45
4 Nairo Quintana (Col) Movistar, +2:59
5 Alejandro Valverde (Esp) Movistar, +3:17
6 Tejay van Garderen (USA) BMC Racing, +3:19
7 Romain Bardet (Fra) Ag2r-La Mondiale, +4:04
8 Richie Porte (Aus) BMC Racing, +4:27
9 Dan Martin (Irl) Etixx - Quick-Step, +5:03
10 Fabio Aru (Ita) Astana, +5:16