Britain’s Adam Yates lost the overall Criterium du Dauphine lead to Jakob Fuglsang as Wout Poels won the seventh stage of the race.
Dutchman Poels won following a day that included a number of breakaways, with Denmark’s Fuglsang finishing second.
Fuglsang began the day seven seconds behind Yates in the overall standings but ended it with an eight-second lead over the Briton, his closest rival.
Poels’ first stage victory of the year moved him up to fifth.
The final 113.5km stage is on Sunday from Cluses, in France, to Champery, in Switzerland.
There was a breakaway of 22 riders after about 20km before Julian Alaphilippe, who had won stage six, and Lennard Hofstede went clear.
They were eventually reeled in by a chasing group and, with Emanuel Buchmann caught by Fuglsang after a late attack, Poels overhauled both to win.
Poels paid tribute afterwards to his Team Ineos colleague Chris Froome, who suffered a high-speed crash during a practice ride before stage four in Roanne.
“It’s really nice for the team and it’s a gift for Chris also,” said Poels.
“I felt pretty strong all day. The team did an amazing job.”
Briton Froome suffered a fracture to his neck as well as a fractured right femur, elbow and ribs, plus a broken hip and, according to the surgeon who operated on him, is likely to spend “at least six months” away from cycling.
The four-time Tour de France champion said he was “fully focused” on getting “back to his best” in a statement on Saturday.
Stage seven results:
1. Wout Poels (Ned/Team INEOS) 4hours 1min 34secs
2. Jakob Fuglsang (Den/Astana Pro Team) +1sec
3. Emanuel Buchmann (Ger/Bora-Hansgrohe) Same time
4. Thibaut Pinot (Fra/Groupama-FDJ) +10secs
5. Daniel Martin (Ire/Emirates) Same time
6. Adam Yates (GB/Mitchelton-Scott)
7. Romain Bardet (Fra/AG2R La Mondiale) +13secs
8. Tejay van Garderen (US/EF Education First) +16secs
9. Dylan Teuns (Bel/Bahrain-Merida) +30secs
10. Bjorg Lambrecht (Bel/Lotto-Soudal) +34secs
1. Jakob Fuglsang (Den/Astana Pro Team) 27hours 36minutes 40seconds
2. Adam Yates (GB/Mitchelton-Scott) +8secs
3. Tejay Van Garderen (US/EF Education First) +20secs
4. Emanuel Buchmann (Ger/Bora-Hansgrohe) +21secs
5. Wout Poels (Ned/Team INEOS) =28secs
6. Dylan Teuns (Bel/Bahrain-Merida) +32secs
7. Thibaut Pinot (Fra/Groupama-FDJ) +33secs
8. Alexey Lutsenko (Kaz/Astana Pro Team) +1min 12secs
9. Steven Kruijswijk (Ned/Team Jumbo-Visma) +1min 20secs
10. Daniel Martin (Ire/Emirates) +1min21secs