Adam Yates powered away from world champion Alejandro Valverde (Movistar) to win the queen stage of the Volta a Valenciana.
The British Mitchelton-Scott rider only revealed his intentions on the brutal slopes of the final climb to Alcossebre, attacking 400 metres from the line and holding the Spaniard at bay.
>> Save up to 31% with a magazine subscription. Enjoy the luxury of home delivery and never miss an issue <<
Dimension Data’s Edvald Boasson Hagen rode valiantly but was unable to hold onto his five-second advantage on general classification, conceding the yellow jersey to Ion Izagirre (Astana).
The queen stage of the 2019 edition followed a 188km route, starting near the coast in Villareal and winding inland before turning back towards the Balearic Sea.
There were three categorised climbs along the road followed by the punchy rise to the finish in Alcossebre.
The first climb, Alto de Culla, was an 11.3km test at 4.8 per cent, followed by La Banderata of 4.4km at 6.7 per cent and La Sarratella – 10.7km at 3.9 per cent.
But the real test came in the final, on the slopes of the 4km Santa Lucía climb, which averaged 14.7 per cent.
With just 24 seconds separating the top 10, the peloton fixed their attention on the final climb.
A chaotic start saw a number of breakaway attempts reeled in by the bunch, before three riders finally went clear in the opening stages.
Silvan Dillier (Ag2r La Mondiale), João Rodrigues (W52-FC Porto) and Diego Rubio Hernandez (Burgos-BH) were the trio that made the early escape, allowing the racing to settle into a steady rhythm.
Rubio extended his lead in the mountain classification, taking maximum points in the first two climbs, and then sitting up before the penultimate ascent, La Sarratella.
Dillier and Rodrigues continued to draw the gap out to 4-15 at the top of that climb, and the advantage continued to rise over the next 10km.
But former Swiss national champion Dillier opted to go solo and dropped his companion with 30km left to ride.
The peloton picked their moment and started working to close down Dillier, the gap dropping to 2-25 with 10km remaining.
Mitchelton-Scott led the peloton for much of the final, with race leaders Dimension Data also assisting the chase, as Boassen Hagen was still securely tucked into the bunch in the hopes of clinging on to his yellow jersey after the final climb.
With 5km left to race, the overall contenders moved their teams to the front as squads battled for dominant position before the last rise.
Alejandro Valverde (Movistar) and Dan Martin (UAE Team Emirates) both made their intentions clear as Dillier put in a courageous dig as he came onto the climb.
Movistar took to the front as the gap to Dillier tumbled to 30 seconds, and Valverde put in a testing attack 3km from the line.
But the group came back together and Boassen Hagen was able to rejoin.
Astana’s Merhawi Kudus sprung away from the peloton and quickly caught Dillier, who was quickly swallowed by the peloton and the front of the race came back together.
Boassen Hagen fell back again with 2km to ride and quickly lost time as a group of around 10 riders led the race.
Valverde, Izagirre, Adam Yates and Jack Haig (Mitchelton-Scott) were amongst the protagonists in that group.
Jesús Herrada (Cofidis) put in an attack and put the front group under pressure, with second place overall Izagirre still in contention.
Yates put in a blistering attack 400m from the line and rapidly pulled out a gap, with Valverde following and threatening to dip past the Brit at the line.
But it was Yates who held on to take his first win of the year, Valverde second, and Izagirre finishing close enough behind to take the overall leadership.
Racing continues with the final stage on Sunday (February 10), an 88km flat stage around Valencia.
Volta a la Comunitat Valenciana 2019, stage four: Villareal to Alcossebre (188km)
1. Adam Yates (GBR) Mitchelton-Scott, in 04-54-57
2. Alejandro Valverde (ESP) Movistar, at same time
3. Pello Bilbao Lopez (ESP) Astana, at 2 secs
4. Ion Izagirre Insausti (ESP) Astana, at 3 secs
5. Dan Martin (IRL) UAE Team Emirates, at 4 secs
6. Sergio Higuita (ESP) Fundacion Euskadi, at 5 secs
7. Jesús Herrada (ESP) Cofidis, Solutions Credits, at 12 secs
8. Jack Haig (AUS) Mitchelton-Scott, at 17 secs
9. Ben Hermans (BEL) Israel Cycling Academy, at 25 secs
10. Luis Leon Sanchez (ESP) Astana Pro Team, at 42 secs
General classification after stage four
1. Ion Izagirre (ESP) Astana, in 14-18-27
2. Alejandro Valverde (ESP) Movistar, at 7 secs
3. Pello Bilbao (ESP), Astana, at same time
4. Dan Martin (IRL) UAE Team Emirates, at 16 secs
5. Dylan Teuns (BEL) Bahrain-Merida, at 18 secs
6. Jesús Herrada (ESP) Cofidis, at 29 secs
7. Jack Haig (AUS) Mitchelton-Scott, at 33 secs
8. Adam Yates (GBR) Mitchelton-Scott, at 34 secs
9. Edvald Boasson Hagen (NOR) Dimension Data, at 46 secs
10. Rui Costa (POR) UAE Team Emirates, at 48 secs