Egan Bernal was poised to become the first Colombian to win the Tour de France when he retained the overall lead after Saturday's 20th stage, a 59-km ride from Albertville.
The Team Ineos rider, 22, finished the stage won by 2014 champion Vincenzo Nibali of Italy in fourth place.
Bernal's teammate and defending champion Geraint Thomas is second overall ahead of Dutchman Steven Kruijswijk after France's Julian Alaphilippe cracked in the final ascent to the ski resort of Val Thorens.
Sunday's final stage from Rambouillet to Paris is a largely processional ride with only the final sprint being contested.
Bernal, who claimed the yellow jersey when he was the first at top of the Col de l'Iseran in Saturday's truncated 19th stage, was never bothered in a stage that had been shortened due to landslides on the initial course.
"It's incredible to think that I have won my first Tour," Bernal said. "I just want to get to the finish line in Paris tomorrow and after I'll be calmer. Colombia is on the verge of winning its first Tour -- I feel this is not only my triumph but the triumph of a whole country.
"My dad couldn't talk at first but when he managed, he congratulated me. He was about to cry. For us, it's a dream. We used to watch the Tour on TV and we thought it was something unreachable. As a kid, you think, 'how cool it would be to be there one day,' but it looked so far away. Here we are and I'm very emotional."
Three Colombians will feature in the top 10 as former podium finishers Rigoberto Uran and Nairo Quintana lie seventh and eighth overall, respectively.
Alaphilippe, who wore the yellow jersey for 14 consecutive days until Friday night, cracked with 14km to go in the final 33-km climb ending 2,365 metres above sea level and slipped from second to fifth overall.
"It's my temperament to be like this, all or nothing," the Deceuninck-Quick Step rider said. "I was second in the overall when we left this morning. If I'd finished second or 50th, it would have been the same thing to me. I fought, I didn't want to have any regrets, I'm very proud of my Tour this year.
"It's so far beyond what I imagined. If someone had told me I would do what I did over the last three weeks, before we started, I never would have believed it. We weren't the best-equipped team to win the Tour de France, but we had some amazing moments. In my career, this is going to change a lot of things. It's only sport, but it's the great moments in life you have to enjoy.''
Bernal is 1:11 ahead of Thomas, who was always bested by the Colombian in the mountains and never looked in a position to threaten him on his favourite terrain.
Kruijswijk is 1:31 off the pace.
The Dutchman's Lotto Jumbo-Visma team set a high pace at the foot of the climb to Val Thorens and Laurens De Plus stepped up a gear to trim the peloton as the breakaway riders' advantage melted.
Sensing the main pack breathing down the neck of the breakaway, Nibali, looking to salvage a poor campaign with a stage win, went solo with 12.5km left.
He never looked back and held off world champion Alejandro Valverde, who took second place 10 seconds behind with his Movistar teammate and fellow Spaniard Mikel Landa finishing third.
Bernal crossed the line 17 seconds off the pace to Thomas's accolade.
"I just said to [Bernal], just enjoy it, soak it all up and don't worry about crying, 'cause all real men cry," Thomas said. "It's amazing to be part of it. He's a phenomenal athlete, 22, it's just an honor to have been a part of this."
The 2018 champion added: "It's night and day between this year and last year, I think. This year, any little thing that could go wrong did go wrong.
"But I had to stay positive and stay focused and keep fighting and that's what I did. Obviously I would have loved to have won, but the fact that Egan won, my teammate, that makes it OK in the end. To have crossed the line with Egan today was an amazing feeling. But from a personal point of view, last year I didn't have one crash, I didn't have one puncture. I felt good and every day was just on a roll, similar to Egan really this year.''
Thomas joked with reporters, saying the team had gotten "flak" for making the race boring, "so we thought we'd mix it up a bit and keep it exciting and then just win it at the end.''
The 106th Tour de France will go down as one of the most exciting and unpredictable in years, heightened by the fact that Saturday's penultimate stage was shortened due to adverse weather conditions.
Race director Christian Prudhomme said the 2019 Tour will be remembered as a historic event.
"Three great weeks of incredible emotion," he said. "The Tour is a huge challenge for the riders, but also for the organization. Extraordinary, with the craziness Friday, and all the countries that made a showing -- obviously France, with Alaphilippe and Pinot; Italy with Ciccone who wore the yellow jersey, and Nibali who won today; the Netherlands with their first yellow jersey in 30 years; and then for the very first time, a Colombian who is going to win the Tour.
"We had envisioned another stage today, of course, but the conditions, the mudslides that cut off the descent of the Cormet de Roseland forced this.
"We had a magnificent Tour thanks to the riders, the audacity of Alaphilippe. Pinot was magnificent. No one will forget his tears, no one will forget his attacks. And Bernal who attacked on the Iseran -- it was an unforgettable Tour.''
Frenchman Romain Bardet, who dropped out of overall contention early in the race, is set to snatch the polka dot jersey for the mountain classification and Peter Sagan is expected to win a record seventh green jersey for the points classification.
Information from ESPN's Bonnie Ford contributed to this report