Paris - Egan Bernal survived a battle of nerves on Saturday to emerge from a tricky, 19.2km penultimate day time-trial around Goms with a firm grip on the Tour de Suisse yellow jersey.
The 22-year-old, being increasingly tipped for a tilt at victory in the Tour de France, is well placed to win in Switzerland where the final stage on Sunday is over his favoured mountain terrain.
"We still have the jersey, tomorrow's the last day and we'll fight all the way," Bernal promised at the finish line.
The stage was won by Belgian Yves Lampaert, who came third at Paris-Roubaix this season and rides for the ultra-successful Deceuninck-Quick Step team.
Not only did Bernal come out on top in his shoot out with world champion time-triallist Rohan Dennis for the yellow jersey, he also survived a nasty scare when his back wheel slipped on a sharp coner.
"It was frightening, yes," smiled the Colombian, whose Ineos teammates Chris Froome and Geraint Thomas have suffered bad falls in the past two weeks.
The Colombian goes into the 144km, mountainous final day with a 22 second cushion as leader of the Ineos team and appears to have the world at his feet.
The 22-year-old, who showed all-round class winning the-week long Paris-Nice in March, showed no fear in the time trial and handled his bike brilliantly in the high-tension skid where others might have fallen.
Bahrain Merida's Dennis had limited his own losses on the summit finish on Friday and started in second place this morning, but he stayed there.
"I can't be unhappy I'm still second," said Australian Dennis, who won the world title in Innsbruck in November.
"We have two big hills tomorrow so if Egan (Bernal) has an off day.... I don't think he will bet you never know," said Dennis.
Sunday's stage is also run around Goms and features the same hill on which Bernal took time out of Dennis on Friday.
1. Yves Lampaert (BEL/DEC) 21min 58sec, 2. Kasper Asgreen (DEN/DEC) at 5sec, 3. Soren Kragh Andersen (DEN/SUN) 10, 4. Tom Scully (NZL/EF1) 13, 5. Patrick Bevin (NZL/CCC) 13, 6. Rohan Dennis (AUS/BAH) 19, 7. Stefan Kung (SUI/FDJ) 20, 8. Benjamin Thomas (FRA/FDJ) 32, 9. Nikias Arndt (GER/SUN) 34, 10. Matteo Trentin (ITA/MIT) 36.