Durban will be the first African city to host the Commonwealth Games after being confirmed as the venue for 2022.
The city on the east coast of South Africa was the only remaining bidder after Edmonton's bid team withdrew in February for financial reasons.
The Games will begin on 18 July - what would have been the 104th birthday of former South African president Nelson Mandela - and finish on 30 July.
It will be the 22nd staging of the event, which is held every four years.
Athletes from more than 50 countries - most of which are former British colonies - compete.
The announcement was made at the Commonwealth Games Federation (CGF) general assembly in Auckland.
"As a movement we stand together to support the very first games on African soil," said outgoing CGF president Prince Tunku Imran.
Much of the infrastructure is already in place, with an athletics track to be installed at the Moses Mabhida Stadium, which was built for the 2010 Fifa World Cup.
It is thought awarding the Games to an African city for the first time could pave the way for South Africa to make another attempt to host the Olympics. Cape Town finished third in bidding for the 2004 event.
The Commonwealth Games was last held in 2014 in Glasgow, with Australia's Gold Coast hosting the 2018 event.