Italian Fabio Aru has completed his victory in the Vuelta a Espana.
The Astana rider did the damage on Saturday, when he attacked previous leader Tom Dumoulin in the mountains.
With a lead of more than a minute, Aru, 25, only needed to avoid a mishap on the final 99km stage around Madrid.
He managed it easily, smiling broadly as he finished 57 seconds ahead of Joaquim Rodriguez in the general classification as Germany's John Degenkolb took the stage win.
"It is a dream, I am very emotional and proud," Aru told Eurosport. "I would like to thank my team-mates, they believed in me and what was possible. Yesterday was the most important moment, we did an amazing job as a team."
In the one-day women's race, United States' Shelley Olds secured a decisive victory in the sprint finish.
Olds came home ahead of Giorgia Bronzini in 2hrs 06mins 21secs. Britain's Lucy Garner, 20, was fifth.
Speaking after the race Astana general manager, Alexander Vinokourov said Aru would now be targeting the Tour De France.
He said: "We will discuss his schedule for next year over the next few weeks but it is going to be all about the Tour de France.
"We have seen how strong he is over the past three weeks and I am sure we will see it again next year."
Stage 21 result:
1. John Degenkolb (Ger/Giant-Alpecin) 2hrs 34 mins 13 secs
2. Danny van Poppel (Ned/Trek Factory Racing) same time
3. Jean-Pierre Drucker (Ned/BMC Racing) same time
4. Daryl Impey (SA/Orica GreenEDGE) same time
5. Tosh van Der Sande (Bel/Lotto Soudal) same time
6. Maximiliano Richeze Ariel (Arg/Lampre-Merida) same time
7. Nikolas Maes (Bel/Etixx-Quick Step) same time
8. Kristian Sbaragli (Ita/MTN) same time
9. Kevin Reza (Fra/FDJ) same time
10. Tom van Asbroeck (Bel/Lotto NL-Jumbo) same time
General classification after stage 21:
1. Fabio Aru (Ita/Astana) 85hrs 36min 13secs
2. Joaquim Rodriguez (Spa/Katusha) +57secs
3. Rafal Majka (Pol/Tinkoff - Saxo) +1min 09secs
4. Nairo Quintana (Col/Movistar) +1mins 42secs
5. Esteban Chaves (Col/Orica) +3mins 10secs
6. Tom Dumoulin (Ned/Giant) +3mins 46secs
7. Alejandro Valverde (Spa/Movistar) +6mins 47secs
8. Mikel Nieve (Spa/Team Sky) +7mins 06secs
9. Daniel Moreno (Spa/Katusha) +7mins 12secs
10. Louis Meintjes (SA/ Team MTN) +10mins 26secs