Pyeongchang defeated rivals Munich and Annecy, France, in the first round of a secret ballot of the International Olympic Committee.
The Koreans had lost narrowly in previous bids for the 2010 and 2014 Olympics.
Pyeongchang will be the first city in Asia outside Japan to host the Winter Games. Japan held the games in Sapporo in 1972 and Nagano in 1998.
Korean delegates erupted in cheers in the conference hall after IOC President Jacques Rogge opened a sealed envelope and read the words: "The International Olympic Committee has the honor of announcing that the 23rd Olympic Winter Games in 2018 are awarded to the city of Pyeongchang."
The vote totals weren't immediately released.
A majority was required for victory, meaning Pyeongchang received at least 48 votes among the eligible 95 voters.
It was the first time an Olympic bid race with more than two finalists was decided in the first round since 1995, when Salt Lake City defeated three others to win the 2002 Winter Games.
Had no majority been reached in the opening round, the city with the fewest votes would have been eliminated and the two remaining cities gone to a second and final ballot.
Pyeongchang had been determined to win in the first round after its previous two defeats. The Koreans had led in each of the first rounds in the votes for the 2010 and 2014 Games but then lost in the final ballots to Vancouver and Sochi.
Pyeongchang, whose slogan is "New Horizons," campaigned on the theme that it deserved to win on a third try and will spread the Olympics to a lucrative new market in Asia and become a hub for winter sports in the region.
The Korean victory followed the IOC's trend in recent votes, having taken the Winter Games to Russia (Sochi) for the first time in 2014 and giving South America its first Olympics with the 2016 Summer Games in Rio de Janeiro.