Brazil will become the first South American country to host the Olympics after the city of Rio de Janeiro was chosen to stage the 2016 Games.
Rio won a majority of the 95 votes at the meeting in Copenhagen, eliminating Madrid in the final round. Tokyo and Chicago had already been knocked out, BBC reports.
"The world has recognized that the time has come for Brazil," said President Luiz Inacio Lula da Silva. Chicago's early exit was a surprise, after bookmakers made them favorites.
US President Barack Obama had flown to Denmark on Friday morning to join his wife, Michelle, and make an emotional address to the International Olympic Committee delegates.
But the gesture - the first time a current US president had addressed the IOC in an attempt to win the Games - failed to persuade the voters as Chicago became the first city to see its dream of hosting the biggest sporting event in the world fall by the wayside.
Speaking to reporters at the White House on his return, Mr Obama said he wished he had come back with better news, but congratulated Brazil for a "truly historic" win. "As friends to the Brazilian people, we welcome this extraordinary sign of progress," he said.
The president said he had no doubt that Chicago's bid had been the strongest possible, could not be prouder of the city, and insisted that he had no regrets about travelling to Denmark.
"I believe it is always a worthwhile endeavor to promote and boost the United States of America," he added.