At the meeting in London Wednesday, France beat South Africa, just ahead of a test match between the two countries' teams at the Stade de France on Saturday.
Ireland had also entered a bid to stage the tournament but dropped out in the first round of voting after securing eight votes with France taking 18 and South Africa 13.
In the second round France won with 24 votes to South Africa's 15.
France hosted the Rugby World Cup in 2007.
French Rugby federation chief Bernard Laporte said that might have influenced the experience.
"There was not much in it," he said. "The difference was perhaps our experience. The delegations had fond memories of 2007."
South Africa's representatives described the selection process as "opaque".
Joel Stransky, whose drop goal won the 1995 Rugby World Cup for South Africa, said on Wednesday he was "bitterly disappointed and very surprised" that his country will not host the 2023 edition.
New Zealand Rugby boss Steve Tew confirmed that his delegation had voted for South Africa and called the decision odd.
"In the end, we live in a democracy and democracies do funny things sometimes," he told Radio New Zealand from London, where the decision was announced. "In this case it's produced a result that people weren't expecting.
"I guess it does look odd and people can speculate around that as much as they want."
The decision means that France will host two major international sporting events within a year of each other - The Rugby World Cup in September-October 2023 and the Olympics in August 2024.