Salzburg was eliminated in the first round of the secret ballot, setting up a final vote between Vancouver and Pyeongchang.
The vote totals were not immediately announced.
Awarding the 2010 games to North America leaves Europe in a strong position for the 2012 Summer Olympics -- at the expense of New York -- because the IOC rarely awards consecutive Olympics to the same continent.
A marquee field also featuring Paris, London, Madrid and Moscow, among others, is already in the race for those games.
The words that Canada had waited to hear came from IOC president Jacques Rogge, who opened a white envelope and declared that Vancouver had won the rights to the games.
Vancouver, the scenic Pacific coastal city whose bid is paired with the ski resort of Whistler, had been considered the front-runner for most of the campaign.
Canada hasn't had the Olympics since Calgary hosted the 1988 Winter Games. Austria's last Olympics was the 1976 Innsbruck Games. South Korea staged the 1988 Summer Olympics in Seoul, but no winter games have ever been held in an Asian country other than Japan.
The biggest surprise was the showing by Pyeongchang, the least known of the candidates.
The Koreans scored points with a strong presentation stressing how the games could promote winter sports in Asia and bring peace and reconciliation on the divided Korean peninsula.
Salzburg, which prided itself on its winter sports tradition and world-class venues, sustained a bitter defeat.
Geography was a key factor in Vancouver's favor.
The games of 2004 (Athens, summer) and 2006 (Turin, Italy, winter) are being held in Europe, and 2008 (Beijing, summer) in Asia, leaving North America in line for 2010.
The games will come back to the continent eight years later the 2002 Salt Lake City Games.
Vancouver also was considered a top flight bid on technical merits alone. A recent IOC report evaluating the three bid cities gave Vancouver the best overall review, with high marks for its plans for sports venues, accommodations and financing.
Canada's understated campaign focused on the technical strengths of its "Sea to Sky Games" proposal, with most indoor venues in Vancouver and ski and sliding events at Whistler.