The Katusha rider shook up the general classification, all but snuffing out any possible comeback by Nairo Quintana (Movistar), as he cut race leader Aru's race lead to the smallest of margins.
Second on the stage was Rafal Majka (Tinkoff-Saxo) who leapfrogged Tom Dumoulin (Giant-Alpecin) for an overall podium place and third was Dani Moreno (Katusha). Race leader Aru finished just behind fourth-placed Quintana.
Dumoulin suffered on the steep slopes of the 12.7km Alto de Sotres climb, which came at the end of the stage from Comillas to Sotres. While Dumoulin lost more time to his rivals and slipped to fourth place overall at 1 min 25 secs , he successfully limited his losses ahead of Wednesday's time trial.
Aru leads the the general classification by a single second over Rodriguez. Majka is at 1min 24 sec, one second ahead of Dumoulin and 10 seconds ahead of Esteban Chaves (Orica-GreenEDGE).
"The cheering fans helped me a lot, as did my teammates," Rodriguez said. "At the moment the situation is perfect for me. I missed the race lead by one second but that is not so important. The good feelings that I have now are more important than the red jersey."
Rodriquez's performance strengthens his claim for the overall victory, especially as Aru looks to be flagging, but he remains circumspect about his prospects for tomorrow's key mountain stage and Wednesday's decisive time trial.
"I don’t want to use a calculator to find out how much time I need to take before the time trial in Burgos. In the past I calculated too much and it ended badly. I just look ahead from day to day," he said.
"Dumoulin especially can still be dangerous. He lost time today but rode very cleverly and he will be hard to beat in the time trial."
How it happened
The break of the day took hold 40km into the 175.8km stage, consisting of nine riders: Blel Kadri (AG2R), Ricardo Vilela (Caja Rural-Seguros RGA), Dominique Rollin (Cofidis), Brayan Ramirez (Colombia), Nikolas Maes (Etixx-QuickStep), Natnael Berhane (MTN-Qhubeka), Pierre Rolland (Europcar), Maarten Tjallingii (Lotto NL-Jumbo) and Haimar Zubeldia (Trek Factory Racing). The breakaway was never allowed to gain much time on such a critical stage, however, bring kept on a tight leash by the Movistar team.
The race opened up when the breakaway was just 11 km away from the summit of the Alto de Sotres, with Kadri the first to go. He was followed by Berhane, but it was the veteran Zubeldia who eventually rode away from the break.
As the break splintered, Quintana tested his legs and those of his opponents with a probing attack, but Astana and Tinkoff-Saxo responded quickly to pull him back.
Zubeldia was swamped by the elite of the Vuelta peloton two kilometres from the summit as Astana decided offence was the best defence, driving the remnants of the peloton to the finish - an effort which claimed the scalp of Tom Dumoulin (Giant-Alpecin) who lost touch with the leaders.
However, the biggest surprise came just one kilometre later as Quintana cracked under the pressure applied by Rodriguez, all but ending the Colombian's chances for a podium place in Madrid.
The infernal pace on the final climb took a number of GC contenders out of the race, leaving just five men who could win the Vuelta: Aru, Rodriguez, Majka, Dumoulin and Chaves.