Contador attempted a number of breakaways over the arduous 20-kilometre final climb but it was his fellow Spaniard who snuck away at the end to extend his overall lead by six seconds.
Rodriguez now lead by 28secs from Contador with five stages remaining before next Sunday's finish into Madrid.
Dario Cataldo won today's 185km stage from Gijon to Cuitu Negro, which contained four special category climbs, after he and Thomas de Gendt embarked on an early successful breakaway.
The pair opened up a 15-minute gap with 88km left and were allowed to battle it out as the race for the red jersey went on behind them.
Cataldo, 27, proved too strong for De Gendt, holding off a late charge over the sapping final climb to claim the most memorable success of his career.
Rodriguez was two mins 39 secs further back, while Team Sky's Chris Froome lost further ground to be fourth overall and almost five minutes off the pace.