Bradley Wiggins finished safely in seventh, 10 seconds behind the 21-year-old Yates to retain the gold jersey.
Yates had already marked himself out as one to watch when he powered his way to gold in the men’s points race at the World Track Cycling Championships in Minsk in February.
And Yates, who also won two stages at the Tour de l’Avenir recently, added further to his burgeoning reputation with a mature ride as he stuck with the peloton throughout the 137km stage from Sidmouth to Haytor before breaking away for the win.
The 6km final climb saw attacks from Stefano Pirazzi, Dan Martin and Nairo Quintana but Sky duo David Lopez and Wiggins took turns to reel in the breakaway riders.
Francesco Bongiorno, Sergio Pardilla and the Lopez all failed to get away from the group after Wiggins had taken a turn at the front to stretch the pace.
And in the end it was Yates who proved the rider with most left in reserve. The 21-year-old hit the front with 200 metres of the climb up to the line to go to finish two seconds ahead of nearest rivals Martin Elmiger and Lopez.
"It's one of my best victories – to win a stage of my national tour. With the company that was there. Yeah, you can’t get much better," Yates said.
"I just hoped for a good position as I hit the climb and people just started to fall away. Dan Martin and Alvaro Quintana started to attack and slowly it started to whittle down.
"I know I have quite a fast kick but I still didn’t believe it until I looked behind a few metres before the line."
Stage six result
1 Simon Yates (GBr) Great Britain 3:23:43
2 Martin Elmiger (Swi) IAM Cycling 0:00:02
3 David Lopez Garcia (Spa) Sky Procycling 0:00:02
4 Sergio Pardilla Bellon (Spa) MTN-Qhubeka 0:00:05
5 Sébastien Reichenbach (Swi) IAM Cycling 0:00:05
6 Nairo Alexander Quintana Rojas (Col) Movistar Team 0:00:10
7 Bradley Wiggins (GBr) Sky Procycling 0:00:10
8 Francesco Manuel Bongiorno (Ita) Bardiani Valvole-CSF Inox 0:00:12
9 Marcel Wyss (Swi) IAM Cycling 0:00:12
10 Evaldas Siskevicius (Ltu) Sojasun 0:00:31