Caleb Ewan's first career Tour de France stage win came by the narrowest of margins as the Australian edged out Dylan Groenewegen in Toulouse.
The 25-year-old Australian, riding the Tour for the first time, came around Groenewegen after the Dutchman launched his sprint with 200 meters of the 167km stage from Albi remaining, and beat him by not much more than the width of his wheel rim.
Yellow jersey holder Julian Alaphilippe and defending champion Geraint Thomas finished safely in the pack to ensure there was no change at the top of the general classification, in which Alaphilippe leads Thomas by 72 seconds after 11 stages.
Dan Martin remains ninth after finishing 20th on the stage, with Nicolas Roche 32nd after coming home 89th on Wednesday.
After Tuesday's rest day and Monday's chaotic finish in crosswinds, Wednesday's stage was a much more sedate affair as the peloton followed the Tarn west out of Albi.
A four-man breakaway including serial escapee Stephane Rossetto of Cofidis was kept on a short leash, with their advantage never quite reaching three minutes, a gap which began to tumble as Toulouse came into view.
Threatened crosswinds never materialised in the finale, although there was a little late drama as a crash held up Movistar's Nairo Quintana and Trek-Segafredo's Richie Porte, taking five kilometres to be paced back onto the pack.
However, Porte's team-mate Giulio Ciccone was not so lucky as he limped home with injuries that saw him lose his 10th place in the general classification.
Wanty Gobert's Aime De Gendt went solo from the breakaway with 10 kilometres left, pulling more than 40 seconds clear, but he was reeled in on the long drag up into town as the sprint trains moved to the fore.
Mike Teunissen, winner of the opening stage in Brussels, led out his Jumbo-Visma team-mate Groenewegen but after he pulled off, Lotto-Soudal's Ewan had the power to come around the Dutchman in the nick of time.
Deceuninck-Quick Step's Elia Viviani took third with Bora-Hansgrohe's Peter Sagan fourth in the green jersey.
The next moves in the battle for yellow could come on Thursday's 209.5km stage 12, which takes the riders from Toulouse to Bagneres-de-Bigorre via climbs of the Peyresourde and the Hourquette a'Ancizan as the race hits the Pyrenees.