Adam Yates triumphed in a tense summit finish on stage three of the Volta a Catalunya.
The Brit rode brilliantly to match four other world-class climbers in the final of the race's queen stage.
Yates (Mitchelton-Scott) kicked at the final turn and was able to hold off the Colombian trio of Egan Bernal, Nairo Quintana and Miguel Angel Lopez, as well are Ireland's Dan Martin.
Race leader Thomas De Gendt was dropped early on the climb, but showed great resilience to hold onto his advantage with 23 seconds to spare at the line.
How it happened
The queen stage of the 2019 edition was also the first test for the pure climbers, with the peloton gaining altitude for most of the day.
Over 179km from Sant Feliu de Guíxols on the coast, the route went cross country to the Vallter 2,000 ski resort.
Climbing started in the opening 20km with the shallow Alt de la Ganga, before the Alt de Oix (7.7km at 5.2 per cent) followed at 120km.
With 40km left to ride, the peloton faced the final tests of the Port de Rocabruna - a 7.7 per cent rise averaging 5.7 per cent - before the decisive run up to the line.
At 12.1km long, 7.7 per cent in gradient for the duration and hitting a maximum of 16 per cent, the Vallter 2000 climb looked likely to open up the general classification race for the first time.
The finish was supposed to feature in 2018, but the stage was shortened due to the harsh weather conditions.
An early breakaway of 11 riders set the tone, building up at five-minute advantage in the opening 30km.
The move consisted of Dries Devenyns (Deceuninck - Quick-Step), Francois Bidard (Ag2r La Mondiale), Óscar Cabedo (Burgos-BH), Sergio Samitier (Euskadi-Murias), Bart De Clercq (Wanty-Groupe Gobert), Maurits Lammertink, Pieter Weening (Roompot-Charles), Lennard Kämna (Sunweb), Anthony Delaplace (Arkéa-Samsic), Bert-Jan Lindeman (Jumbo-Visma) and Álvaro Cuadros (Caja Rural-Seguros RGA), all working well together but the peloton held them to five minutes.
That advantage began to tumble 0n the build-up to the final climb, with riders slipping back from the break until only six remained - De Devenyns, De Clercq, Samitier, Lindeman, Cuadros and Weening.
The peloton hit the final climb with a 90-second gap to the remains of the escape, which was whittled down until only Weening was able to press on alone.
Team Sky took up their place at the head of the bunch on the climb, with Weening hold 1-11 with 8.2km to go.
Race leader De Gendt (Lotto-Soudal) started to suffer under the pace set by Sky, slipping to the very back of the bunch at the 8km mark.
New signing for Sky Jhonatan Narváez headed up the chase as De Gendt was eventually dropped and quickly lost a minute to the bunch.
Weening's gap quickly began to tumble 7km from home, and the Dutchman was quickly swept up as Sky's pace split the peloton.
Ivan Sosa was the last man to ride for Bernal, with Nairo Quintana (Movistar), Dan Martin (UAE Team Emirates) and Adam Yates (Mitchelton-Scott) making it into the group at the front.
Bernal opened up his attacked at 5.3km, with his compatriot Quintana the only man able to follow.
Adam Yates also upped the pace and slowly made it across to the Colombian duo, reaching them at the 4km mark.
Miguel Ángel López (Astana) and Martin were able to rejoin the front of the race as leaders slowed.
Yates responded at 2.4km, with Quintana and Bernal staying with him.
Lopez and Martin caught up once again, with the Colombian opening an attack.
In the final kilometre, Bernal, Yates, Quintana, Lopez and Martin approached the line together, all watching each other.
Martin was the first to open with 200 metres to the line, but everyone was able to follow and Yates passed him in the final turn to take the stage victory.
De Gendt rode brilliantly to cross the line 2-20 down on the stage winner, holding onto his leaders jersey for another day.
Volta a Catalunya 2019 stage three: Sant Feliu de Guíxols to Vallter 2,000 (179km)
1. Adam Yates (GBr) Mitchelton-Scott, in 5-02-18
2. Egan Bernal (Col) Team Sky
3. Dan Martin (Irl) UAE Team Emirates
4. Nairo Quintana (Col) Movistar
5. Miguel Ángel López (Col) Astana, all at same time
6. Steven Kruijswijk (Ned) Jumbo-Visma), at 30 seconds
7. Ilnur Zakarin (Rus) Katusha-Alpecin, at 46s
8. Richard Carapaz (Ecu) Movistar, at same time
9. Wilco Kelderman (Ned) Sunweb, at 51s
10, Michael Woods (Can) EF Education First, at 51s
General classification after stage three
1. Thomas De Gendt (Bel) Lotto-Soudal, in 13-28-29
2. Adam Yates (GBr) Mitchelton-Scott, at 27 seconds
3. Egan Bernal (Col) Team Sky, at 30s
4. Daniel Martin (Irl) UAE Team Emirates, at 33s
5. Nairo Quintana (Col) Movistar Team, at 35s
6. Miguel Angel Lopez (Col) Astana Pro Team, at 39s
7. Steven Kruijswijk (Ned) Team Jumbo-Visma, at 1-06
8. Ilnur Zakarin (Rus) Katusha-Alpecin, at 1-23
9. Richard Carapaz (Ecu) Movistar Team, at same time
10. Wilco Kelderman (Ned) Team Sunweb, at 1-28
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1