Tour de France champion Egan Bernal won the mountainous penultimate stage of the Route d'Occitanie to take the overall lead in the event.
Briton Chris Froome, vying with Bernal for a leader's spot in the Team Ineos line-up at the Tour de France, finished five minutes, 11 seconds back.
Bernal, 23, finished the 163.5km stage to the Col de Beyrede 10 seconds ahead of Team Ineos team-mate Pavel Sivakov.
The Colombian has a 14-second overall lead from Sivakov, with Froome 32nd.
Froome, who spent more than three weeks in hospital after breaking his neck, femur, elbow, hip and ribs in a high-speed crash last year, returned to action in February and is aiming to become the fifth rider to win a record five Tours.
The 35-year-old, five minutes 21 seconds behind Bernal in the general classification, is set to leave Team Ineos at the end of the season after they decided not to renew his contract.
Tuesday's final stage is a hilly 195km run from Lectoure to Rocamadour.
Stage 3 times:
1. Egan Bernal (Col/Team Ineos) 4hrs 36mins 44secs2. Pavel Sivakov (Rus/Team Ineos) @10secs3. Aleksandr Vlasov (Rus/Astana) @17secs4. Thibault Pinot (Fra/Groupama-FDJ) @31secs5. Bauke Mollema (Ned/Trek-Segafredo) @1.056. Warren Barguil (Fra/Arkea Samsic) @1.09
Selected other:
34. Chris Froome (GB/Team Ineos) @5.11
General Classification after 3 of 4 stages:
1. Egan Bernal (Col/Team Ineos) 13hrs 33mins 57secs2. Pavel Sivakov (Rus/Team Ineos) @14secs3. Aleksandr Vlasov (Rus/Astana) @23secs4. Thibault Pinot (Fra/Groupama-FDJ) @41secs5. Bauke Mollema (Ned/Trek-Segafredo) @1.156. Warren Barguil (Fra/Arkea Samsic) @1.19
Selected other:
32. Chris Froome (GB/Team Ineos) @5.21