The announcement was made in Durban, South Africa, by International Olympic Committee president, Jacques Rogge, after a secret ballot.
The French city of Annecy and Munich in Germany were the only other cities in the running for the Games.
Agence France Presse reported that South Korean President Lee Myung-Bak was first on the podium to give his country's final pitch. He said South Korea's bid was about “friendship, hard work and fair play”:
I ask you for your support today so that we can finally make the Winter Olympics and Paralympics dream come true.
I am a fellow sportsman so this is why I can appreciate, more than anyone, what the IOC and Olympic Movement have given Korea. Now we want to give back.
South Korean figure skating champion Kim Yu-na was also on hand at the event to buoy her country's bid.
Pyeongchang, which missed out in 2010 and 2014 to Vancouver and the Russian Black Sea resort of Sochi, had been considered the front runner – but Munich was a close second, with media reports saying the race was too close to call.
Munich had been hoping to become the first city to host both a summer and winter Games, while Annecy was an outside hope.
Reuters reported that two hours before the announcement, Rogge confirmed that one of the candidates had achieved an outright majority in a first round of voting.