One fan, wearing a South Africa rugby jersey and bleeding from the head, said the crowd overpowered him.
"I fell down and people just fell over me," Japhta Mombelo said.
"The police have told me to stay around and they will organise an ambulance but I am still waiting."
The first rush came when the gates opened to allow fans into the stadium.
Police soon closed the gates, but when they were re-opened, a second rush
occurred, with more people falling and being stood on.
"When we were coming in they were just stepping on us," Princess Mbali, who was wearing a South Africa shirt, said.
"I thought I was dying. I was at the bottom."
The match was suspended for about 10 minutes shortly after the second half began, but it restarted with Nigeria leading 1-0.
"The police aren't saying anything, just go and watch the match," Mbali
"How can we watch the match when we are hurt? Maybe my ribs are broken. No one is helping us and we are South Africans."
Security was increased as the match went on.
"We have security plans that are there," Hangwani Mulaudzi, a police spokesman, said.
"I think this is one of those isolated cases where we did not anticipate the large number of people who would be interested in this game."
Fifa, the World Cup organisers, said in a statement that they did not have any concerns about a repeat incident occurring during the World Cup, which starts on Friday.
"Fifa would like to reiterate that this friendly match has no relation whatsoever with the operational organisation of the 2010 World Cup, for which we remain fully confident," the statement read.
"Fifa had nothing to do with the ticketing of this game."
Inside the stadium there were still many empty seats as the match was not sold out.
"Nobody can be blamed for this. We did not have any choice of an alternate bigger venue," Taiwo Ogunjobi, the Nigerian football federation board member, said.
"We are just thankful nobody died. The tickets were free and too many people wanted to get in."
The Makhulong Stadium will not host any World Cup matches.