Yates (Mitchelton-Scott) won Saturday's stage to snatch back the red jersey and increased his overall lead over Alejandro Valverde (Valverde) from 20 to 26 seconds
Today, he finished two seconds ahead of Valverde and collected four bonus seconds for coming third on the 178.2km route from Ribera de Arriba to Lagos de Covadonga, a third consecutive summit finish.
Yates also widened the gap to 2016 champion Nairo Quintana (Movistar) in third to 33 seconds by beating him to the finish line by four seconds.
He was, however, seen arguing with Quintana, who did not help him chase down Miguel Angel Lopez (Astana), who finished second, two seconds ahead of Yates.
Yates had arrived at the foot of the final climb in good form after being shepherded in a combined slipstream of his Mitchelton-Scott teammates and Astana.
He had plenty of energy to launch a series of attacks in the clouds of the Lagos de Covadonga mountain to counter the efforts of Valverde and Quintana.
There was little he could do to catch up with Pinot (Groupama-FDJ), however, who avenged his bold yet futile solo attack on stage 11 by storming to a fourth individual grand tour stage victory by an impressive 28 seconds.
Pinot was part of a small breakaway involving Enric Mas (Quick-Step Floors), Valverde, Steven Kruijswijk (LottoNL-Jumbo) and Lopez but this time carefully picked his moment, freeing himself from the group with six kilometres remaining and slowly increasing the gap to the chasing pack.
The peloton now enjoys a well-earned rest day. See you back on the #couchpeloton, Tuesday 11 September 2018 with the 32km individual time trial from Santillana del Mar to Torrelavega.