Beijing will become the first city to host both the summer and winter Olympic Games, after beating a bid from Kazakhstan's Almaty to the right to host the 2022 Winter Olympics.
A small majority of the 84 voting members of the International Olympic Committee (IOC) voted for Beijing, despite the inconvenient fact it doesn't receive any snow.
The Chinese capital only just pipped Almaty to the bid in a close-run ballot of 44 votes to 40.
The Beijing organising committee has promised to build a high-speed railway to take people to mountain events 150 miles away in Zhangjiakou, while the bobsled track will be 50 miles outside the city.
When delivering the bid to the IOC, Beijing's sports minister Liu Peng said:
Beijing 2022 will build on our existing snow-making capabilities to supplement snowfall…with minimal environmental impact. We have a strong experience in organising winter Games.
The 84 voting members of the IOC (15 either abstained or were not present – including Fifa president Sepp Blatter) were left with little to choose from for the event after bids from Munich, Oslo, Stockholm, St. Moritz failed to win local support due to the cost of hosting, while a bid from Ukrainian city Lviv was called off following the ongoing crisis in the country.
Beijing has pledged to keep total costs for the event at $3bn, with a $1.5bn budget allocated to its organising committee and infrastructure.
Almaty's bid gave itself the nickname "the real thing" in an apparent jab at Beijing's lack of real snow, but both bids came with real concerns over the country's respective human rights records.
Scrutiny will now fall on whether China can meet Olympic human rights standards, despite a continuing crackdown on dissidents, journalists and human rights lawyers since the Summer Games in 2008.
Sophie Richardson, China director at Human Rights Watch, said the IOC's decision was a "slap in the face to China's besieged human rights activists. Over the next seven years, the IOC has enormous work to do in China to win the credibility on human rights that will ensure a successful Olympics".
Lausanne was also chosen ahead of Brasov in Romania to host the Youth Olympic Games in 2020.