The incident occurred at a pre-season local derby between Kaizer Chiefs and Orlando Pirates, the country's most popular teams, both from Soweto.
"I can confirm the death of two people," police spokeswoman Lorraine van Emmerik, told AFP.
She said several other people had also been injured when "a rolling mass of people were trying to get into the stadium" south of Johannesburg.
In a statement cited by an online football website KickOff, the match sponsors Carling Black Label said one fan was LAO critically injured and 16 other spectators suffered minor injuries.
The brewer said it was "saddened by the fatalities" from the crush caused by "a number of people who attempted to push through the stadium gates".
Match tickets were sold out two weeks before the game.
Local media reports suggested fake tickets had gone on sale, while some analysts said fans have a tendency to enter stadiums late.
"This incident is extremely unfortunate as solid security plans were put in place," Carling said in a statement.
Public and private broadcasters cited officials saying the crush happened outside a gate at the FNB stadium which hosted the final of the World Cup, seven years ago which was won by Spain.
Hlomla Hlangani, an intern video journalist with public broadcaster SABC who was at the stadium, said the trouble occurred shortly after the match had started.
He said stadium security had to call in for police reinforcements after they were overpowered by a crowd of fans trying to rush through the gates.
He cited a witness he told him that 15 minutes into the match "there was lots of traffic to get inside the stadium... people were getting angry and some were drunk... and wanted to get into the stadium quickly".
Michael Sun, a Johannesburg municipal councillor responsible for public safety, spoke of a "stampede".
"Situation report from FNB Soweto Derby: Stampede reported with multiple injuries, 2 confirmed fatal," Sun wrote on Twitter.
Police have launched investigations into the fatal incident.
The match carried on despite the tragedy at the stadium, which has an official capacity of 94,000, and was won 1-0 by the Kaizer Chiefs.
South African Football Association (SAFA) said it was "deeply saddened by the tragedy".
"A football match is supposed to be a place of entertainment. What happened at FNB Stadium is very unfortunate," SAFA president Danny Jordaan, said in a statement.
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.
The worst football tragedy in the World occurred in 1964 in Lima during an Olympic qualifier between Peru and Argentina at the National Stadium. The official toll was 328 dead
(This story has not been edited by NDTV staff and is auto-generated from a syndicated feed.)