Italy's Vincenzo Nibali is poised to win the Tour de France after Tony Martin won the penultimate stage, a 54km time trial to Perigueux.
World time trial champion Martin completed the hilly course in one hour six minutes and 21 seconds, 99 seconds quicker than Dutchman Tom Dumoulin.
Nibali finished fourth to extend his lead to seven minutes 52 seconds ahead of Sunday's processional race to Paris.
France's Jean-Christophe Peraud moved up to second ahead of Thibaut Pinot.
It will be the first time in 17 years that a Frenchman will finish in the top three - Richard Virenque was second in 1997 - and the first time in 30 years that two Frenchmen will finish on the podium - Laurent Fignon beat Bernard Hinault to the title in 1984.
|Magnus Backstedt - Former Tour de France stage winner|
|"It is just fantastic to see two French riders on the podium. This will certainly spark new life into youth cycling in France. People were hoping they might start challenging for a top-five place but I don't think anyone was expecting this. They have raced well and took it to Alejandro Valverde, who was looking very solid in second place for a long time. But they were really attacking in the Pyrenees and gave it a real go. You have to take your hat off to them - they have earned their places on the podium."|
|Listen to the 5 live podcast|
Nibali still has to finish the race in Paris, but it is a largely leisurely ride into the French capital which usually finishes in a bunch sprint on the Champs-Elysees and should not affect the overall standings.
"It was not an easy time trial, it required a lot of power," said 29-year-old Nibali. "I never thought about that (becoming the first Italian to win since Pantani), I'm not sure I have realised yet."
The Astana rider has dominated this year's Tour, winning four stages and spending 17 days in the race leader's yellow jersey. He is set to become the first Italian since Marco Pantani in 1998 to win the world's most prestigious stage race.
He will also become just the sixth man to win all three of cycling's Grand Tours - the Giro d'Italia, Tour de France and Vuelta a Espana.
Nibali won the Giro in 2013 and the Vuelta in 2010. His previous best finish in the Tour was third place, behind Britain's Sir Bradley Wiggins and Chris Froome, in 2012.
|Riders to win all three Grand Tours|
|Eddy Merckx (Belgium)||Tour de France x5 (1969, 1970, 1971, 1972, 1974)Giro d'Italia x5 (1968, 1970, 1972, 1973, 1974)Vuelta a Espana x1 (1973)|
|Bernard Hinault (France)||Tour de France x5 (1978, 1979, 1981, 1982, 1985)Giro d'Italia x3 (1980, 1982, 1985)Vuelta a Espana x2 (1978, 1983)|
|Jacques Anquetil (France)||Tour de France x5 (1957, 1961, 1962, 1963, 1964)Giro d'Italia x2 (1960, 1964)Vuelta a Espana x1 (1963)|
|Alberto Contador (Spain)||Tour de France x2 (2007, 2009)Giro d'Italia x1 (2008)Vuelta a Espana x2 (2008, 2012)|
|Felice Gimondi (Italy)||Tour de France x1 (1965)Giro d'Italia x3 (1967, 1969, 1976)Vuelta a Espana x1 (1968)|
Nibali's winning margin of almost eight minutes will be the biggest since Jan Ullrich won by nine minutes, nine seconds in 1997.
Saturday's individual time trial went largely to form with Omega Pharma - Quick-Step rider Martin averaging 48.4km/h to comfortably win his second stage on this year's race.
"The team really did a great job for me," Martin said. "They paid attention to all the details. I had a clear idea of the parcours in advance.
"There were always parts with two or three percent gradients, with uphills and downhills. You could go with a big gear, such as my 58-tooth chainring. It was just perfect for me.
"I have already won two Tour time trials, so I am proud to now have a third win."
Nibali finished ahead of his rivals in the general classification to extend his lead by 40 seconds, while 37-year-old AG2R rider Peraud overturned a 13-second deficit to leapfrog Pinot and take second overall, despite having a flat tyre and needing to change bikes during the stage.
Pinot, 24, will also claim the white jersey as the quickest under-25 rider in the race.
Spanish time trial champion Alejandro Valverde had been expected to challenge the Frenchmen but he finished more than two minutes behind Peraud and more than one minute adrift of Pinot.
Stage 20 result
1. Tony Martin (Ger/Omega Pharma - Quick-Step) 1hr 06mins 21secs
2. Tom Dumoulin (Ned/Giant-Shimano) +1min 39secs
3. Jan Barta (Cze/NetApp Endura) +1min 47secs
4. Vincenzo Nibali (Ita/Astana) +1min 58secs
5. Leopold Koenig (Cze/NetApp Endura) +2mins 02secs
6. Tejay van Garderen (US/BMC Racing) +2mins 08secs
7. Jean-Christophe Peraud (Fra/AG2R) +2mins 27secs
8. Sylvain Chavanel (Fra/IAM Cycling) +2mins 36secs
9. Markel Irizar (Spa/Trek) +2mins 39secs
10. Daniel Oss (Ita/BMC Racing) +2mins 58secs
General classification after stage 20
1. Vincenzo Nibali (Ita/Astana) 86hrs 37mins 52secs
2. Jean-Christophe Peraud (Fra/AG2R) +7mins 52secs
3. Thibaut Pinot (Fra/FDJ.fr) +8mins 24secs
4. Alejandro Valverde (Spa/Movistar) +9mins 55secs
5. Tejay van Garderen (US/BMC Racing) +11mins 44secs