Adam Yates became the third British rider in four days to claim a stage victory at the Tour de Romandie as he also assumed the overall lead.
The 30-year-old won Saturday’s stage four in the Swiss Alps by seven seconds from France’s Thibaut Pinot to take the yellow jersey from Spain’s Juan Ayuso.
Yates has a 19-second lead on American Matteo Jorgenson ahead of Sunday’s fifth and final stage in Switzerland.
Britons Ethan Vernon and Ethan Hayter won stages one and two respectively.
Yates had to come through a tough battle with Pinot high in the mountains on the 161.6km fourth stage between Sion and Thyon.
In doing so, he moved clear at the top of the overall standings – taking first place from his UAE Emirates team-mate Ayuso, who had won Friday’s third stage.
Yates launched his attack 4km from the finish, on the long final climb of almost 21km hemmed in by walls of snow.
“It’s a really good performance from the team,” said Yates after claiming his first victory since joining UAE last September.
Fellow Briton Max Poole sits fourth overall, 38 seconds behind Yates, after finishing fourth in Saturday’s stage.
The final stage will take place on Sunday over 170.8 km between Vufflens-la-Ville and Geneva.
Stage four result
1. Adam Yates (GB/UAE Team Emirates) 4hrs 40mins 41secs
2. Thibaut Pinot (Fra/Groupama – FDJ) +7secs
3. Damiano Caruso (Ita/Bahrain Victorious) +19secs
4. Max Poole (GB/Team DSM) +21secs
5. Matteo Jorgenson (US/Movistar Team) +21secs
General classification after stage four
1. Adam Yates (GB/UAE Team Emirates) 13hrs 14mins 41secs
2. Matteo Jorgenson (US/Movistar Team) +19secs
3. Damiano Caruso (Ita/Bahrain Victorious) +27secs
4. Max Poole (GB/Team DSM) +38secs
5. Thibaut Pinot (Fra/Groupama – FDJ) +41secs