(CNN) -- Alberto Contador finished second on the 12th stage of the Tour de France to trim 10 seconds off the lead of yellow jersey leader Andy Schleck of Luxembourg.
The 210-km stage was won by Spain's Joaquin Rodriguez, who outsprinted his illustrious compatriot and defending champion to claim a victory in his first appearance in cycling's most famous race.
But Contador was the other big winner on the day as he rode away from Schleck on the steep three kilometer climb towards Mende which concluded the day's proceedings.
He now trails the Saxo Bank rider by 31 seconds in the overall classification.
Third place went to Contador's Kazakh teammate Alexandre Vinokourouv, a survivor of a breakaway group that went away after 60 kilometers.
He was caught in the last two kilometers by Contador and Katusha rider Rodriguez after a brave bid for victory.
Schleck rallied to cross the line in fifth place alongside Belgium's Jurgen Van den Broeck.
The other interest of the day came in the battle for the green jersey for the points classification.
Norway's Thor Hushovd was in the breakaway as he attempted to gain points awarded for intermediate sprints on the route.
At the first, he was outsprinted by Grega Bole of Slovenia, a Lampre teammate of overnight green jersey holder Alessandro Petacchi.
But Cervelo's Hushovd took the six points on offer at the second sprint to regain the green jersey from the Italian.
Spain's Samuel Sanchez came in with the Schleck group to remain in third place overall, two minutes 45 seconds behind the race leader, while seven-time winner Lance Armstrong trailed in three minutes 35 seconds down.