Frank (IAM), making his first appearance in the Vuelta since 2011, raced clear of the breakaway group alongside Dario Cataldo (Astana) with 22km remaining of the 177.5 km stage from Castellon to Llucena.
He dropped Cataldo with 2km left to claim his first stage win in a Grand Tour, finishing six seconds ahead of Leopold Konig of Team Sky. Robert Gesink (LottoNL-Jumbo) was third, 11 seconds behind Frank.
"I'm super-happy. It was my big goal when I came here; I really wanted to win a stage," Frank said.
"I was already close a couple of times and finally it worked out. I have had a pretty rough season; not much was working as I wanted.
"I came here and told myself, 'I just want to have fun and get a good feeling back', and finally I have a (stage) victory (in a race) after more than two years. Winning a Grand Tour stage is just amazing."
Chris Froome (Sky) still faces a near-impossible task in his bid to catch leader Nairo Quintana (Movistar) after finishing alongside the Colombian.
Froome risked losing even more ground as he struggled to keep pace with Quintana, Esteban Chaves (Orica-BikeExchange) and Alberto Contador (Tinkoff), but bridged the gap to the trio.
“When the legs are good, this kind of climb makes you happy. If not, clearly you won’t be that happy," Contador said.
"They are spectacular stages, people love this kind of finale, but it’s true that making time gaps here is difficult because there’s only one kilometre per hour of difference between riders.
"Yesterday I had doubts in my head. I did not know whether to follow the angel or the devil who tells me to attack. Today, the devil won, and let’s see what he tells me in the coming days.
"I believe things come to you and you can’t achieve nothing if you don’t go against the circumstances. I couldn’t be how I wanted neither here nor on the Tour, but I’m enjoying myself and my only objective is to keep enjoying."
How it happened
After several failed attempts, a 27-rider breakaway formed at 50km with Frank among the group which also contained Cataldo, König, Stage 14 winner Gesink, José Herrada (Movistar) and Australian Simon Gerrans (Orica-BikeExchange).
The group held an advantage of five minutes with 110km left while Maxime Bouet (Etixx-QuickStep), who was chasing bridged to the large group. In the early action, Omar Fraile (Dimension Data) was first at the top of the first climb of the day, the Alto del Desierto de las Palmas, to reduce the mountains classification gap with Kenny Elissonde (FDJ) to three points.
Two hard weeks of racing and the heat claimed the scalp of Tejay van Garderen (BMC), who abandoned after less than two hours of racing. The breakaway's lead rose up to 7min 30sec with 70km left when BMC started to pull at the front of the pack.
With 29km remaining, Cataldo and Frank attacked and when entering the Camins del Penyagolosa they were about 20 seconds ahead of the chasing group at the foot of the feared Mas de la Costa climb.
The peloton, led by Movistar, were some minutes off the pace. With 2.5km left, Frank was on his own and Cataldo hung on a dozen seconds behind before being caught by Gesink, Konig and Herrada.
Konig and Gesink chased Frank but the IAM rider was too strong and finished six seconds ahead of Konig and 11 in front of Gesink.
Further down the road, Contador attacked the group of favourites and was joined by Quintana and Chaves. They were eventually joined by Froome, who struggled to respond to Contador's acceleration, and the four finished together.
“It’s difficult to enjoy a stage like this," Quintana said. The rhythm was hard but my team were really strong, we defended well.
"We put two riders in the breakaway and the rest of the team took me safely to the final climb. I was looking after Froome and I defended well. I think that until the last day nothing will be won and there is still the time trial left. I’m in good condition.
"We’re quite well. The upcoming climbs are more suited to me, unlike today’s climb which was too steep for me. “
Thursday's stage is a 200.6km ride from Requena to Gandia in Valencia province with a flat finish, the second-longest stage of the Tour which finishes in Madrid on Sunday.