Attacking his nemesis one kilometre from the summit of the final category one climb of La Farrapona on Monday's 16th stage from San Martin del Rey Aurelio, Contador (Tinkoff-Saxo) won the gruelling 160.5km leg by 15 seconds from Froome (Team Sky).
"It was a very good day for us. I was able to distance all my opponents and took important seconds in the fight for the GC," Contador said.
"I finished 15 seconds in front of Froome, who seems to have recovered well and rides with an incredible pace right now. I felt good today and followed Froome until I saw my chance to attack and I took the opportunity.
"I noticed that Sky was in the front of the peloton keeping a very high pace. When Froome makes a change of pace like today it's difficult to follow him. But I felt confident in following his move and the next thing I did was to observe that Joaquim (Rodriguez) and Alejandro (Valverde) were dropped."
Alessandro De Marchi (Cannondale), the sole survivor of the opening break, finished third on the stage, 50 seconds behind Contador, with Valverde (Movistar), Rodriguez (Katusha) and Fabio Aru (Astana) following, the latter three finishing within 11 seconds of each other.
As a result Froome, whose attack four kilometres from the line dropped all the race favourites bar Contador, who is now just three seconds behind second-placed Valverde, the Movistar rider 1min 36sec adrift of the race lead. Rodriguez, at 2min 29sec, is fourth overall, with Aru fifth at 3min 38sec.
Big effort... Chris Froome. (Getty)
"It (the situation) strengthens my lead and brings me a step closer but there are still many rivals, Contador said.
"The race will be complicated and we need to control it, but today gives me confidence, my recovery is good and I still have energy left despite the beating we have taken. Now we have an important rest day."
The landmark stage of the race featured five ascents including four category one climbs - namely, the Colladona, Cordal, Cobertoria, San Lorenzo and testing finale on La Farrapona - and was expected to play a decisive role in who is crowned the winner in Santiago de Compostela on Sunday.
Australia's Rohan Dennis (BMC) got the race cracking when he initiated the break of the day at kilometre zero. It took some time but the leading group eventually swelled to 13 riders, including De Marchi, Luis Leon Sanchez (Caja Rural) and pugilistic pairing of Ivan Rovny (Tinkoff-Saxo) and Gianluca Brambilla (Omega Pharma-QuickStep).
With 40km left to race Brambilla and Rovny were involved in a punch-throwing altercation; despite riding on for over an hour after the incident, both men were eventually told to stop and expelled from the race.
The break continued together over the Colladona, Cordal and Cobertoria but disintegrated on San Lorenzo, with the time gap reduced from a maximum 8min 22sec to three minutes at the top of the climb. Luis Leon Sanchez used his presence in the break to regain the mountains' classification lead from Valverde, taking the lion's share of points on Colladona, Cordal and Cobertoria and was fourth on San Lorenzo.
After the descent from San Lorenzo, the peloton picked up several members of the break on the approach to La Farrapona, including Dennis.
The peloton had also thinned out on the penultimate climb of San Lorenzo, moving on without the presence of Rigoberto Uran (Omega Pharma-QuickStep), who had a day to forget as he struggled to keep pace throughout the stage. He would eventually finish 50th, and consequently fell out of the top ten overall.
"I've struggled with bronchitis for five or six days now," Uran said. "Yesterday (Sunday) I suffered a lot, but today was by far the worst. I felt like I couldn't breathe.
"I thought about stopping already on the first climb. The easiest thing to do would be to abandon the race, but my team-mates surrounded me and, step-by-step, they helped me catch the peloton again. As a cyclist you have to fight through days like this. That's when you understand how hard it is to do this job. But it's part of the sport and I battled as much as I could."
De Marchi was the last of the break to be caught, passed by Froome and Contador 3km from the finish. Contador used Froome as a pacesetter before making his decisive move to cement the stage victory and extend his overall lead.
After Tuesday's rest day, the race returns Wednesday with a flat 190.7km ride from Ortigueira to A Coruna.
The race leader knows exactly what he'll be doing. "It's about resting and recovering as much as possible," Contador said of the second and final rest day.
"Right from the start, this year's Vuelta has been really hard. After an initial very hot week and this one with constant climbing, we can definitely feel it. We must recover with our legs elevated, eat well and think about the five stages that remain. Tomorrow (Tuesday), the team will enjoy a bit of free time together, we'll do one-and-a-half hours of training, about 50 kilometres, including the mandatory coffee stop."
Stage 16: 160.5km, San MartÃn del Rey Aurelio to La Farrapona
1 Alberto Contador (ESP) Tinkoff-Saxo 4hr 53min 35sec
2 Christopher Froome (GBR) Sky 0:00:15
3 Alessandro De Marchi (ITA) Cannondale 0:00:50
4 Alejandro Valverde (ESP) Movistar 0:00:55
5 Joaquin Rodriguez (ESP) Katusha 0:00:59
6 Fabio Aru (ITA) Astana 0:01:06
7 Daniel Martin (IRL) Garmin-Sharp 0:01:12
8 Robert Gesink (NED) Belkin 0:01:22
9 Samuel Sanchez (ESP) BMC 0:01:43
10 Ryder Hesjedal (CAN) Garmin-Sharp 0:01:48
1 Alberto Contador (ESP) Tinkoff-Saxo 63hr 25min 00sec
2 Alejandro Valverde (ESP) Movistar 0:01:36
3 Christopher Froome (GBR) Sky 0:01:39
4 Joaquin Rodriguez (ESP) Katusha 0:02:29
5 Fabio Aru (ITA) Astana 0:03:38
6 Daniel Martin (IRL) Garmin-Sharp 0:06:17
7 Robert Gesink (NED) Belkin 0:06:43
8 Samuel Sanchez (ESP) BMC 0:06:55
9 Warren Barguil (FRA) Giant-Shimano 0:08:37
10 Damiano Caruso (ITA) Cannondale 0:09:12