In a trademark display of explosive uphill sprinting, Katusha captain Rodriguez dropped his principal rival Alberto Contador in the final 100m of the last climb to cross the line eight seconds clear of the Saxo Bank-Tinkoff rider - and extend his overall buffer to 13 seconds on the GC.
British hope Chris Froome (Team Sky) struggled on the demanding Cat.3 climb - which featured debilitating ramps of 20 per cent - and finished in fifth place, 23 seconds behind Rodriguez. Froome stays in third place on GC but now trails the red jersey by 51 seconds.
A late rally by Spain's Alejandro Valverde saw the Movistar rider take third place on the stage, 13 seconds in arrears. Valverde retains his fourth place on GC but drops to 1:20 behind his compatriot Rodriguez.
Used for the very first time in the Vuelta's 67-year history, the twisting and perilously steep 2km ramp to the 'Ezaro Lookout' above the town of Dumbria in Galicia offered a thrilling finale to what had been an unexpectedly frenetic 190km stage from Vilagarcia de Arousa.
For practically the entire first two hours of racing numerous riders - both individuals and small clusters - attempted in vain to break clear of the peloton. Despite a strong headwind, an average speed of 46 km/h over some rolling terrain saw break after break thwarted by the pack.
Eventually, after 75km of riding, a four-man break managed to stick. Australian Cameron Meyer (Orica-GreenEdge), Frenchman Amael Moinard (BMC), Spaniard Mikel Astarloza (Euskaltel) and Belgian Kevin de Weert (Omega Pharma-Quick Step) combined well to pull out a six-minute lead going through the feeding zone - and with the gap still well over four minutes inside the final 35 kilometres, it looked like one of the four escapees would take the spoils.
But the Movistar team of Valverde combined with Rodriguez's Katusha following the second intermediate sprint and soon the lead started to dwindle. Rabobank, Team Sky and RadioShack all joined in the chase, reducing the advantage of the four escapees to just 40 seconds as they started the final climb overlooking the Atlantic coast.
Astarloza instantly dropped his fellow escapees on the opening ramp - and the Spanish veteran was soon joined by his Euskaltel team-mate Igor Anton, who had put in the first attack from the pursuing peloton.
Both Euskaltel riders were caught and passed by the race's top two riders, however, after Rodriguez put in a massive attack inside the final kilometre. Contador was able to hold his wheel, but the other race favourites - and in particular Froome - were blown away by the uphill pace.
With 500 metres remaining it looked like the two leaders were being caught by their pursuers but, with Contador setting the pace in the white combined jersey, the gap rose again.
Rodriguez made his decisive move with 100m to spare, jumping on the pedals to leave Contador for dead. It was his second win of this year's Vuelta after his stage six victory last week at Jaca. For Contador, it was a successive second place after the Spaniard finished runner-up to Frederik Kessiakoff of Astana in Wednesday's individual time trial.
A win for Contador ahead of Rodriguez would have given the 2008 Vuelta champion the race lead - but instead the Saxo Bank leader will enter the major mountain stages of this weekend 13 seconds off the summit.
With Contador and Valverde picking up eight and six bonus seconds after Rodriguez secured 12 bonus seconds as stage winner, Dutchman Robert Gesink crossed the line in fourth place, 20 seconds back and three seconds ahead of Froome and Dani Moreno of Katusha.
Rabobank's Gesink retains his fifth place, 2:59 down on Rodriguez, while Moreno is sixth, 3:29 down on his team-mate in red.
Froome conceding time at the finish was not the only disappointment for Team Sky, who lost Spanish rider Xabier Zandio - a key climbing lieutenant to Froome - after a heavy crash in the run-in towards the finish.
The Vuelta continues on Friday with a rolling 173km stage 13 from Santiago de Compostela to Ferrol - a last chance for the sprinters to shine ahead of three gruelling back-to-back mountain-top finishes.
- Alberto Contador
- Chris Froome
- Team Sky