Tadej Pogacar salvaged some pride by taking stage 20 of this year's Tour de France as Jonas Vingegaard all but sealed the defence of his title.
Pogacar has been unable to challenge Vinegaard's supremacy in the past week, but sprinted past the Dane to win on the final day of competitive racing.
Vingegaard holds a lead of seven minutes and 29 seconds ahead of Sunday's procession into Paris.
Britain's Adam Yates is third overall, one place ahead of twin brother Simon.
They were both involved in a thrilling race for the line at Le Markstein, with Adam leading out Pogacar and eventually finishing fourth, with Simon fifth.
"Today I finally feel like myself again," said Pogacar, who reduced Vingegaard's lead by six seconds because of the time bonus he received for the stage win.
"It was just really good from start to finish, to feel good again after many days suffering and to pull it off in the finish, I'm just super, super happy.
"Adam did a super job. I was waiting for him to come back and his brother again was super good. I know him now well.
"He led me out really good and thanks to him it was a bit easier to prepare for the final, less nervous and I'm super happy the team did such a great job once again."
Adam Yates said: "For me personally third (overall) is the best result I've ever had in a Grand Tour, so obviously I'm pretty happy.
"We're a little bit disappointed as our goal was to get yellow but in the end there was only one guy better than us."
France's Thibaut Pinot, riding his last Tour at the age of 33, had launched a solo attack on the penultimate climb, and was roared on by a huge crowd on his home roads as he went for an emotional farewell victory.
But he was caught and overhauled by Vingegaard, Pogacar and Felix Gall on the final climb, with the Yates brothers joining them for the sprint finish.
Vingegaard attempted to spring clear with 300m to go, but he was expertly tracked by Pogacar and sat up once he knew his hopes of taking the stage win were over, allowing Gall to pass him before the line.
Stage 20 results
1. Tadej Pogacar (Slo/UAE Team Emirates) 3hrs 27mins 18secs
2. Felix Gall (Aut/AG2R-Citroen Team) Same time
3. Jonas Vingegaard (Den/Jumbo-Visma)
4. Simon Yates (GB/Team Jayco-AlUla)
5. Adam Yates (GB/UAE Team Emirates) +7secs
6. Warren Barguil (Fra/Team Arkea-Samsic) +33secs
7. Thibaut Pinot (Fra/Groupama-FDJ) Same time
8. Pello Bilbao (Spa/Bahrain Victorious)
9. Tobias Johannessen (Nor/Uno-X Pro Cycling) +50secs
10. Rafal Majka (Pol/UAE Team Emirates) Same time
General classification standings
1. Jonas Vingegaard (Den/Jumbo-Visma) 79hrs 16mins 38secs
2. Tadej Pogacar (Slo/UAE Team Emirates) +7mins 29secs
3. Adam Yates (GB/UAE Team Emirates) +10mins 56secs
4. Simon Yates (GB/Team Jayco-AlUla) +12mins 23secs
5. Carlos Rodriguez (Spa/Ineos Grenadiers) +12mins 57secs
6. Pello Bilbao (Spa/Bahrain Victorious) +13mins 27secs
7. Jai Hindley (Aus/Bora-Hansgrohe) +14mins 44secs
8. Felix Gall (Aut/AG2R-Citroen) +16mins 9secs
9. David Gaudu (Fra/Groupama-FDJ) +23mins 8secs
10. Guillaume Martin (Fra/Cofidis) +26mins 30secs
- From secretive street artist to international icon: The Banksy Story charts the rise of this anonymous household name
- Is hydrogen the solution to our energy needs? The Inquiry explores the potential of replacing our current fossil fuel usage with hydrogen