No-one was able to immediately respond to Yates' move with 700m to go on the steep final climb of Les Praeres, with even late counter-attacks from Miguel Angel Lopez (Astana) and Alejandro Valverde (Movistar) not enough to stop him from taking the win.
The Briton reclaims the red jersey with race leader Jesus Herrada dropped within the final 30km of the mountainous 171km stage.
Nairo Quintana (Movistar) had been the most active of the GC contenders on the final climb, but appeared to have spent too much energy as he could only finish fifth, seven seconds behind Yates with Thibaut Pinot (Groupama-FDJ) pipping him to the line.
Yates now leads the overall by 20 seconds over Valverde in second and 25 seconds over Quintana in third place.
How it happened
The 14th day of racing at the 2018 Vuelta a España would be another tough mountain day for the peloton, with no fewer than five categorised times along the 171km route, including a fierce summit finish to Les Praeres.
With an uncategorised climb more or less straight out of the start, there could have been a big fight for the breakaway, but around 20km gone the peloton seemed content to let a group of Nicolas Roche and Brent Bookwalter (BMC), Thomas De Gendt (Lotto-Soudal), Michael Woods (EF Education First-Drapac), Ivan Cortina (Bahrain-Merida) and Michal Kwiatkowski (Team Sky) get away, the latter just 5-02 down on GC.
That meant the peloton wasn't keen on giving them a lot of rope, with the break reaching a gap of around 3-30 with 140km to go.
They held just over two minutes for much of the time, but reach 3-43 on the bunch with around 75km to go.
As they hit the third to last climb, the category one Alto de la Mozqueta, the break still had over two minutes, but Bahrain-Merida began to take things up on the front of the peloton and increasing the pace.
The saw the break down to five as Garcia was told to drop back and help his team with the pace setting. They dropped to four as De Gendt appeared to have a mechanical after taking maximum king of the mountain points over the climb, with the peloton now closing in with gap under 1-30.
Woods was the next rider dropped from the break, as he crashed on the descent of the Mozqueta and struggled to get back on.
Behind, race leader Jesus Herrada was in trouble and found himself in a split in the bunch over the climb, quickly dropping over a minute behind and seeing his grasp on the red jersey slipping away.
As the break hit the penultimate category three climb with around 30km, Bookwalter couldn't hack the pace any further and left Roche and Kwiatkowski to push on with a slim advantage of around 35 seconds.
The Polish champion then dropped Roche towards the top of climb, and was able to push on and extend his lead to over 50 seconds.
Herrada meanwhile, seemed to be cracking on that climb and dropping even further behind, eventually slipping to almost four minutes down as they hit the valley road to the final climb.
Kwiatkowski also saw his gap fall in the valley, dropping to around 12 seconds ahead of the final climb on the Bahrain led peloton. His Sky team-mate David de la Cruz was also struggling, stuck in a group behind the main GC favourites and working hard to chase back on.
What was left of the peloton finally caught Kwiatkowski with 5.2km to go, with Rafal Majka (Bora-Hansgrohe) now driving the pace towards the steep slopes of the final climb.
Kruijswijk was the first rider to try getting away from the GC group, and went with 3.6km to go with Valverde and Richard Carapaz (Movistar) following tentatively just behind.
The Dutchman continued to lead with 2.8km to go, with Ion Izagirre struggling at the back despite his team's effort to tee him up.
The pursuing group was now down to just Quintana, Carapaz, Yates, Lopez, Pinot, Rigoberto Uran (EF Education First-Drapac), Enric Mas (Quick-Step Floors) with Valverde hitting out to try and get Kruijswijk, who was finally caught with 2.3km to go
The acceleration to catch Kruijswijk put Pinot and Uran in trouble, with the next move coming from Quintana and Lopez who attacked with around 2km to go.
When they were brought back, Quintana waited and went again with more urgency with 1.5km to go. Again, the only rider able to follow was his compatriot Lopez.
They were unable to cooperate though, allowing Yates to drag the second group back in, with Pinot and Uran then able to get back on.
It was Yates who then went with 700m to go, and with the road narrowing between the huge crowds, no-one was able to immediately respond on the steep slopes. As they emerged on to the open road again, Yates still held a narrow advantage.
There was then a counter-attack from Lopez with Valverde following, but they could do nothing to stop Yates holding on to the finish, with Lopez beating Valverde to the line.
Pinot, who had looked to be struggling earlier on, was then able to recover and pip Quintana to the finish as the Colombian began to fade.
The Vuelta continues with stage 15 on Sunday and a huge summit finish to Lagos de Covadonga.
Vuelta a España 2018, stage 14: Cistierna to Les Praeres. Nava (171k)
1 Simon Yates (GBr) Mitchelton-Scott, in 04-19-27
2 Miguel Angel Lopez (Col) Astana Pro Team, at 2s
3 Alejandro Valverde (Esp) Movistar Team, at same time
4 Thibaut Pinot (Fra) Groupama-FDJ, at 5s
5 Nairo Quintana (Col) Movistar Team, at 7s
6 Steven Kruijswijk (Ned) LottoNL-Jumbo, at 11s
7 Enric Mas (Esp) Quick-Step Floors, at 19s
8 Rigoberto Uran (Col) EF Education First-Drapac, at 27s
9 Ion Izagirre (Esp) Bahrain-Merida, at 37s
10 Fabio Aru (Ita) UAE Team Emirates, at 39s
Overall classification after stage 14
1 Simon Yates (GBr) Mitchelton-Scott, in 59-11-18
2 Alejandro Valverde (Esp) Movistar Team, at 20s
3 Nairo Quintana (Col) Movistar Team, at 25s
4 Miguel Angel Lopez (Col) Astana Pro Team, at 47s
5 Steven Kruijswijk (Ned) LottoNL-Jumbo, at 1-23
6 Rigoberto Uran (Col) EF Education First-Drapac, at 1-28
7 Ion Izagirre (Esp) Bahrain-Merida, at 1-40
8 Enric Mas (Esp) Quick-Step Floors, at 1-47
9 Tony Gallopin (Fra) AG2R La Mondiale, at 1-55
10 Emanuel Buchmann (Ger) Bora-Hansgrohe, at 2-08
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