Switzerland's Frank, the last man standing of an 11-man break which formed after a frantic opening 40km of racing, was unable to hold the wheel of the 24-year-old Briton.
It was Yates' second win of the season and comes just six weeks after he returned from a four-month suspension for testing positive for a banned substance, which was blamed on an "administrative error" made by his team doctor.
Spaniard Alejandro Valverde is 28 seconds adrift while Sky rider Chris Froome, victor of the Tour de France and bronze medalist in the Olympic time trial, is third overall.
The British rider attacked on a short ascent less than four kilometers from the finish and sped away for the victory by 20 seconds over runner-up Luis-Leon Sanchez.
Spaniard Alejandro Valverde, who is bidding for a second Vuelta title seven years after his first, is in second place, four seconds ahead of Froome.
Asked who of the two twins was the best, Yates remained diplomatic: "We'll see".
"We set it up really well there in the beginning and I managed to take my opportunity there at the finish", said Yates. "It wasn't planned. We just wanted to make it a hard day".
Omar Fraile (Dimension Data) attacked on his own after the day's sole categorised climb with under 50km to go, but was caught with 19km left by Mathias Frank (IAM Cycling), Jan Bakelants (AG2R - La Mondiale) and Andrey Zeits (Astana).
"It was a pretty insane day with a lot of twists and turns".
"It was pretty insane - lots of twists and turns and hard roads there as well - but I managed to come down perfectly there in the finish and I timed my attack to perfection".
Frank then went solo and led until Yates, following a late attack from Movistar's Dani Moreno off the front of the peloton, surged clear with less then 4km to go.
The Vuelta a Espana continues on Friday yet another rolling stage - a 158.5km ride from Maceda to Puebla de Sanabria which includes three Cat.3 climbs and numerous other challenging hills.