Edvald Boasson Hagen claimed his first stage win of the 2017 Tour de France on Friday, while Michael Matthews clinched the green jersey and Chris Froome remained on course for overall victory on stage 19.
Dimenson Data rider Boasson Hagen finished second in stages seven and 16, as well as third on 11 and 14, but broke clear in the final moments of the 222.5-kilometre route from Embrun to Salon-de-Provence.
The Norwegian benefitted from taking the opposite side of a roundabout with Nikias Arndt (Team Sunweb) inside the final 3km, a move that separated them from the rest of the leading group before Boasson Hagen moved clear.
Matthews - who took the green jersey after Marcel Kittel abandoned the Tour following a crash on stage 17 - held a 160-point lead over Andre Greipel with as many still up for grabs, and the Lotto-Soudal rider's failure to finish first in the intermediate sprint at Banon put the Australian out of reach.
The Team Sunweb rider is now mathematically assured of finishing in the green jersey and is set to take the title from the disqualified Peter Sagan, who had won the points classification in each of his previous five appearances.
Matthews finished behind Froome in the peloton, the reigning champion's advantage over Romain Bardet remaining at 23 seconds, with Rigoberto Uran 29 back.
A strong display in the individual time trial in Marseille - the penultimate stage - from the Team Sky rider will effectively secure his place at the top of the GC for the fourth time and third in succession.
GOOD DAY / BAD DAY
With Bardet and Uran not attempting to get away from Froome and gain valuable time ahead of the time trial, the defending champion got to rest his legs as much as possible on the Tour's longest ride.
The Team Sky rider remains in pole position to take the yellow jersey once again and it will require something special from his closest rivals to gain that ground before the event comes to an end in Paris on Sunday.
Finishing at the front of the peoloton, more than 12 minutes back from race winner Boasson Hagen, it could hardly have been more comfortable for Froome.
1. Edvald Boasson Hagen (Dimension Data) 5:06:09
2. Nikias Arndt (Team Sunweb) +0:05
3. Jens Keukeleire (Orica-Scott) +0:17
1. Chris Froome (Team Sky) 78:08:19
2. Romain Bardet (AG2R La Mondiale) +0:23
3. Rigoberto Uran (Cannondale) +0:29
1. Michael Matthews (Team Sunweb) 364 points
2. Andre Greipel (Lotto Soudal) 204 points
3. Edvald Boasson Hagen (Dimension Data) 200 points
KING OF THE MOUNTAINS
1. Warren Barguil (Team Sunweb) 169 points
2. Primoz Roglic (Lotto NL-Jumbo) 80 points
3. Thomas De Gendt (Lotto Soudal) 64 points
The final day of competitive racing takes place on the streets of Marseille, with a 22.5km individual time trial starting and finishing in the Stade Velodrome..