The Katusha climber proved the strongest on the steep cobbled ramp at the end of the 183km mountainous stage from Talavera de la Reina to San Lorenzo de El Escorial to take a solid win ahead of Italy's Michele Scarponi (Lampre).
Scarponi crossed the line nine seconds down on Rodriguez and ahead of Dutchman Bauke Mollema (Rabobank) and Belgian Jurgen van den Broeck (Omega Pharma-Lotto), who took third and fourth respectively.
Overnight race leader Sylvain Chavanel (Quick Step) of France finished just over a minute slower than Rodriguez, who now leads his team-mate and compatriot Daniel Moreno by 32 seconds in the GC. Chavanel drops to eighth, exactly a minute down.
It was the second win in this year's race for Rodriguez, who won stage five in Valdepeñas de Jaén in similar circumstances, and a third for Katusha after Moreno's victory at Sierra Nevada in stage four.
Defending champion Vincenzo Nibali (Liquigas) of Italy crossed the line 32 seconds down and drops to fourth in the GC, 45 seconds behind his Spanish rival.
Denmark's Jakob Fuglsang, who wore the red jersey after Leopard Trek's opening TTT win last Saturday, took fifth place on the stage, 12 seconds down, and now sits in third place in the GC, 34 seconds off the summit.
A demanding stage in the rolling hills west of Madrid featured three categorised climbs and numerous punchy rises before the final showdown in the shadow of the bleak El Escorial royal palace.
One of the big victims of Friday's mass pile-up, Michal Golas of Vacansoleil, did not take to the start - and the Pole was soon joined by American Tyler Farrar. Despite his own injuries from the crash, the Garmin-Cervelo sprinter decided to start the stage, but pulled out of the race 40km into the stage just ahead of the first-category Puerto de Mijares climb.
Two riders - Farrar's Australian team-mate Heinrich Haussler and the Italian Matteo Montaguti (Ag2R) - crossed the summit with a lead of more than eight minutes. They were joined on the descent by Frenchman Julien Fouchard (Cofidis) and Spaniard Adrian Palomares (Andalucia), who had been chasing the leading duo since they broke clear after 20km.
The quartet's lead was whittled down to five minutes over the second climb of the day, the Cat.2 Alto de San Bartolome de Pinares, before Fouchard was the first to fade on the final categorised climb of the day, the Cat.2 Alto de Santa María de la Alameda, 30km from the finish.
A series of attacks came from the peloton over the next two uncategorised hills, including notable efforts from Estonia's Rein Taaramae (Cofidis) and Spain's Angel Madrazo (Movistar).
But the Russian-based Katusha team had the race by the scruff of the neck as all escapees were reeled in before the final 5km.
Scarponi made the first move on the precipitous final ramp, which at a maximum gradient of 28 percent is the steepest finish in the Vuelta's history.
Rodriguez held the Italian's wheel until launching his own inevitable attack inside the closing 300m on the steepest section of the brutal climb.
Just as he had done three days earlier on the similarly gruelling ramp into Valdepeñas de Jaén, Rodriguez blew the pack apart as he rode to what looked like a comfortable victory.
While the time gaps were not huge, Rodriguez did pick up 20 vital bonus seconds which puts the 32-year-old in control of the race ahead of Sunday's stage nine from Villacastin to Sierra de Bejar, which concludes with a tough summit finish on the Covatilla climb.
Another big name rider to pull out of the race on Saturday was the former world champion Oscar Freire of Rabobank. The Spaniard had been suffering with illness for most of the opening week.
- Related links