Katusha's Rodriguez beat his Team Sky rival by five seconds after counter-attacking Froome's initial dig on the second of two Cat.3 climbs at the end of the 175km stage in northern Spain.
Spaniard Alejandro Valverde (Movistar) finished 10 seconds back to take third place at the Rapitan Fort above the town of Jaca, while race favourite Alberto Contador (Saxo Bank-Tinkoff) could only manage fourth place, 18 seconds behind the winner.
"It was a big battle and I'm really happy to have got the win," said 33-year-old Rodriguez, who now leads the race by 10 seconds over Froome and 35 seconds over Contador. "I saw Froome go in the last part of the climb and so I gave it my all out of the final bend and secured the victory with 200 metres to spare."
Contador later told reporters that he had suffered cramps on the final climb owing to dehydration. The 2008 Vuelta champion said he was not concerned about his form after losing ground to both Rodriguez and Froome on his first major race back since serving a six-month doping ban.
On another sweltering day in Spain where temperatures peaked in the high 30s, Katusha rode a textbook stage, allowing a five-man break to escape after 10km but never giving the leaders more than four minutes advantage on the road.
The break contained Dutch trio Pieter Weening (Orica-GreenEdge), Martijn Maaskant (Garmin-Sharp) and Joost van Leijen (Lotto Belisol) and Belgian pair Thomas de Gendt (Vacansoleil-DCM) and Kristof Vandewalle (Omega Pharma-QuickStep).
With the peloton closing in as the quintet started the Cat.3 Puerto de Oroel climb, de Gendt took matters into his own hands as he shed his fellow escapees one by one inside the final 20km.
Third place in May's Giro d'Italia after a brilliant solo win atop the Stelvio but more than seven minutes off the pace on GC after a tricky opening week in the Vuelta, de Gendt crossed the summit of the climb with only 50-second advantage ahead of the final 15km of the stage.
The Saxo Bank team of Contador led the chase on the descent and de Gendt was swept up inside the final 4km once the riders had passed through the town of Jaca in the Pyrenean foothills.
Team Sky then took over the pace setting with Colombian duo Rigoberto Uran and Sergi Henao pulling Froome through a series of 13 hairpin bends winding up to the old Rapitan fortress above Jaca - a road never covered before in the Vuelta's 67-year history.
Rodriguez comfortably held Froome's wheel ahead of a cluster of big-name riders including Valverde, Contador and Irishman Nicolas Roche (Ag2R-La Mondiale).
Once Henao and Uran peeled off inside the last kilometre, Froome launched his attack - and the Tour de France runner-up's surge of pace could only be matched by the red jersey of Rodriguez, who seemed to catch and pass his rival with consummate ease.
It was a sweet victory for Rodriguez, who missed out on taking Monday's stage three when he stopped pedalling close to the finish and inadvertently let his compatriot Valverde zip ahead over the line in Arrate.
Valverde's third place saw the Movistar rider rise to sixth place on GC, 54 seconds down on his compatriot. Uran finished sixth in the stage to rise to fourth on GC, 41 seconds behind Rodriguez while another solid ride by Roche saw the Irishman rise to seventh, 1:04 in arrears.
The Vuelta continues on Friday with a largely flat 164km stage seven from Huesca to Alcaniz which should give the sprinters another occasion to do battle.