The incident occurred at a pre-season derby between Kaizer Chiefs and Orlando Pirates, the country’s most popular teams, both from Soweto.
Public and private broadcasters cited officials saying the crush took place outside a gate at the FNB stadium which hosted the final of the football extravaganza seven years ago.
Emergency services were not immediately reachable for comment, but Michael Sun, a Johannesburg municipal councillor responsible for public safety confirmed the deaths in a tweet.
“Situation report from FNB Soweto Derby：Stampede reported with multiple injuries, 2 confirmed fatal,” wrote Sun on Twitter.
The match carried on despite the tragedy at the stadium which has an official capacity of 94,000 and was won 1-0 by Chiefs.
The two worst football tragedies in South Africa involved matches between the same clubs — in 2001 when 43 people were killed, and in 1991, when the death toll was 42.