Alberto Contador won his second Vuelta a Espana title in his first Grand Tour race since returning from a drugs ban.
The Spaniard, 29, ended the race over a minute ahead of the rest of the field.
The 21st stage, a race around the streets of Contador's home city Madrid, was won by John Degenkolb.
Alejandro Valverde and Joaquim Rodriguez took second and third to make it a one-two-three finish for Spain.
Double Tour de France winner Contador was given a backdated two-year ban earlier in 2012 for testing positive for clenbuterol during his 2010 Tour victory - a victory he was later stripped of.
Contador was out of competition for six months before returning to action for Team Saxo Bank on the Eneco Tour in August.
"Because of what happened coming in, this victory is very special for me," Contador said.
"I came in without having competed for a long time and things were complicated. Reflecting on it, there are a lot of emotions that are very strong and that can't be explained with words. It's a big weight from me."
Team Sky's Froome says he will learn from his experiences leading his team at this year's Vuelta.
"I now know where my limits are in terms of doing two Grand Tours back to back," he told Team Sky's official website.
"I know a lot more about the competition that wasn't at the Tour de France this year and will be at future editions and races next year.
"For me, it's been the first time leading the team and being in a position where I need to tell the guys around me what I need to get me through the race as best as possible."
Stage 21 results:
1. John Degenkolb (Ger/Argos) 2:44:57"
2. Elia Viviani (Ita/Liquigas) Same time
3. Daniele Bennati (Ita/RadioShack)
4. Allan Davis (Aus/Orica)
5. Koldo Fernandez (Spa/Garmin)
6. Alejandro Valverde (Spa/Movistar)
7. Gert Steegmans (Bel/Omega Pharma - Quick-Step)
8. Zdenek Stybar (Cze/Omega Pharma - Quick-Step)
9. Raymond Kreder (Ned/Garmin)
10. Gorka Verdugo (Spa/Euskaltel)
11. Pim Ligthart (Ned/Vacansoleil)
12. Leonardo Duque (Col/Cofidis)
13. Matti Breschel (Den/Rabobank)
14. Manuel Cardoso (Por/Caja Rural)
15. Klaas Lodewyck (Bel/BMC Racing)
16. Denys Kostyuk (Ukr/Lampre)
17. Lloyd Mondory (Fra/AG2R)
18. Egoitz Garcia (Spa/Cofidis)
19. Ben Swift (Gbr/Team Sky)
20. Dominique Rollin (Can/FDJ)
1. Alberto Contador (Spa/Saxo Bank) 84:59:49"
2. Alejandro Valverde (Spa/Movistar) +1:16"
3. Joaquim Rodriguez (Spa/Katusha) +1:37"
4. Chris Froome (Gbr/Team Sky) +10:16"
5. Daniel Moreno (Spa/Katusha) +11:29"
6. Robert Gesink (Ned/Rabobank) +12:23"
7. Andrew Talansky (US/Garmin) +13:28"
8. Laurens ten Dam (Ned/Rabobank) +13:41"
9. Igor Anton (Spa/Euskaltel) +14:01"
10. Benat Intxausti (Spa/Movistar) +16:13"