|Tour de France: 1-23 July|
|Coverage: Live text commentary of the final stage on the BBC Sport website. BBC Radio coverage from 16:30 BST on the website.|
Chris Froome effectively clinched his fourth Tour de France title after finishing third on the penultimate stage of the race in Marseille.
Briton Froome finished six seconds behind stage winner Maciej Bodnar.
The 32-year-old took time out of all his major yellow jersey rivals on a 22.5km individual time trial.
The Team Sky rider will not have his lead attacked on Sunday's processional final stage into Paris and will win the race for the third successive year.
"It just was just an amazing feeling to finish in this atmosphere in this stadium," Froome told ITV4 afterwards.
"Three weeks of racing are almost at an end - we've still got to get to Paris but this is an amazing feeling."
Earlier on Saturday, the women's race - La Course by Le Tour - was won by Dutch cyclist Annemiek van Vleuten.
In an unusual pursuit format, she managed to hold off a group of three riders that included Britain's Lizzie Deignan to ensure that she won both of the two stages of the race. Deignan outsprinted Italy's Elisa Longo Borghini to claim second.
- Froome: Britain's least loved great sportsman?
- Stage-by-stage - how the Tour has unfolded
- Brailsford regrets row with reporter
- Froome win worth brutal Tour - Luke Rowe
- BeSpoke: Download the Radio 5 live podcast
Desperate battle for a podium spot
Froome might have extended his overnight lead from 23 to 54 seconds, but there was an almighty battle for the other two podium spots.
French favourite Romain Bardet trailed Froome by 23 seconds overnight while Colombian Rigoberto Uran was 29 seconds behind the leader.
But Froome's Sky team-mate Mikel Landa had been in superb form during the Tour and, starting the time trial one minute 36 seconds behind the leader, went down the ramp knowing that a strong ride could see him claw his way into the top three.
Uran got a corner wrong as he prepared to enter the Stade de Velodrome at the end of his ride and Bardet paid after attacking too hard on the climb up to Notre Dame de la Grande.
In the end, Bardet slipped to third, losing second place to Uran, and clung onto a podium spot by the tightest of margins - finishing one second ahead of the unfortunate Landa.
TV pictures showed Bardet looking shattered and distraught after his ride but at least he held onto third.
"I really didn't feel good," said Bardet.
"For the last few days I haven't been in good health and today I paid for it in cash. I fought to the end but it's true that it was tough, I quickly saw that I wasn't at the races."
Never in doubt for ice cool Froome
Froome had admitted prior to Saturday's time trial that the race was his to lose - and maintaining his lead never really looked in doubt as he executed a controlled ride that almost saw him catch Bardet, who had set off two minutes ahead of him.
Froome was booed by some of the patriotic home crowd as he made his way down the ramp, the last man to roll out of the Velodrome.
But by the time he reached the first time check at Palais du Pharo after 10.2km he was the second fastest, trailing team-mate Michal Kwiatkowski. That meant he had extended his lead over key general classification rivals Bardet and Uran, and it was obvious that barring an unforeseen problem victory would be his.
The only question would be whether he went on to win the stage - something that had eluded him in the race so far.
But he could not match the time of Bora-Hansgrohe rider Bodnar, who in the end finished one second ahead of Kwiatkowski to claim the most famous stage win of his career.
Bodnar, who had been 52nd of the 167 remaining competitors down the ramp, had been caught 200m from the line in Pau at the end of stage 11 after a solo breakaway of 200km.
And so barring an extremely unlikely stage win in Paris, Froome will become the seventh man to win a Tour without a stage victory.
Yates seals white jersey
Most of the other jerseys had been long wrapped up before the start of Saturday's stage.
We knew that Australian Michael Matthews would roll into Paris wearing green as the race's top sprinter and Frenchman Warren Barguil in the polka dot jersey as the King of the Mountains.
But Britain's Simon Yates was seventh - just one place ahead of South African Louis Meintjes in the white jersey competition for the best rider under the age of 26.
The gap between them was two minutes six seconds overnight - and that was exactly how it finished at the end of Saturday's stage.
The end of the road is nigh
Back in Dusseldorf on 1 July, 198 riders from 22 teams set off on the long road to Paris.
After 3,521km it is almost time for the 167 remaining riders to end their Tour with Sunday's 103km procession from Montgeron to Paris.
The 21st and final stage of the race starts at 15:40 BST and is scheduled to finish at approximately 18:30 BST.
Racing will only really start for real when the riders get to Paris - and the remaining sprinters in the contest battle it out for one final stage win.
Stage 20 result:
1. Maciej Bodnar (Pol/Bora-Hansgrohe) 28mins 15secs
2. Michal Kwiatkowski (Pol/Team Sky) +1sec
3. Chris Froome (GB/Team Sky) +6secs
4. Tony Martin (Ger/Katusha-Alpecin) +14secs
5. Daryl Impey (SA/Orica-Scott) +20secs
6. Alberto Contador (Spa/Trek-Segafredo) +21secs
7. Nikias Arndt (Ger/Team Sunweb) +28secs
8. Rigoberto Uran (Col/Cannondale-Drapac) +31secs
9. Stefan Kung (Swi/BMC) +34secs
10. Sylvain Chavanel (Fra/Direct Energie) +37secs
General classification after stage 20:
1. Chris Froome (GB/Team Sky) 83hrs 55mins 16secs
2. Rigoberto Uran (Col/Cannondale-Drapac) +54secs
3. Romain Bardet (Fra/AG2R La Mondiale) +2mins 20secs
4. Mikel Landa (Spa/Team Sky) +2mins 21secs
5. Fabio Aru (Ita/Astana) +3mins 05secs
6. Dan Martin (Ire/Quick-Step Floors) +4mins 42secs
7. Simon Yates (GB/Orica-Scott) +6mins 14secs
8. Louis Meintjes (SA/Team UAE Emirates) +8mins 20secs
9. Alberto Contador (Spa/Trek-Segafredo) +8mins 49secs
10. Warren Barguil (Fra/Team Sunweb) +9mins 25secs