The Mastercard Global Destination Cities Index showed that Johannesburg welcomed 4,57 million international overnight visitors in 2016, a 24% increase on the previous year's 3,69 million visitors.
Cape Town rose from third place in 2015 to become the second most popular African destination city in 2016, with 1,52 million visitors.
Nigeria's Lagos (1,04 million visitors), Morocco's Casablanca (961 694) and Egypt's Cairo (820 959) rounded out the top five African cities, while Durban remained in sixth place, attracting 758 057 international overnight visitors.
According to the index, Johannesburg also topped the rankings in Africa in terms of international visitor expenditure, with travellers spending $2,56 billion (R35,1 billion) in 2016. Shopping accounted for the largest percentage of visitor spend, followed by accommodation and dining out.
Cape Town and Durban are ranked second and eighth in terms of expenditure in Africa, with international visitors spending $1,2 billion (R16.4 billion) and $314 million (R4,3 billion) respectively.