The Africa Cup of Nations semi-final between Ghana and hosts Equatorial Guinea was described as a "war zone" after play was suspended for more than 30 minutes because of crowd trouble.
Players ducked bottles thrown from the stands, Ghana fans sought safety behind a goal, riot police used tear gas and a helicopter hovered over the stadium.
"It's now like a war zone," the Ghana Football Association (GFA) tweeted, claiming "barbaric acts of vandalism" while its president told the BBC it was lucky no-one was killed.
When play resumed, Ghana sealed a 3-0 win to reach Sunday's final, where they will play Ivory Coast, who beat DR Congo 3-1 on Wednesday. Ghana FA president Kwesi Nyantakyi blamed Equatorial Guinea supporters for "unprovoked violent attacks" inside the stadium.
"We are lucky that we haven't lost any lives, though people have sustained various degrees of injuries arising from objects thrown at them," he told BBC World Service. Trouble flared at half-time between Ghana and Equatorial Guinea.
Ghana players had to be protected by riot police using plastic shields as they left the field, already 2-0 up in the tie.
The second half was then halted eight minutes from time when Ghana supporters sought sanctuary on the field after coming under attack. Confederation of African Football (Caf) officials had used the public address system to threaten to call off the game if the crowd did not stop pelting Ghana's players.
Nyantakyi called security at the match "a flop" but said he expected "more decency" from fans.
"I don't think this is a fair commentary of Africa," he said.
"This has been a very successful tournament and this isolated incident of violence will leave a slur on the reputation of African football.
"A high profile game of this nature should have attracted policemen, intelligence officers and military.
"I couldn't have counted 50 policemen at the stadium, the rest were from Angola, who were not familiar with the terrain, so they didn't know how to handle the situation. So the Ghanaian fans were left at the mercy of these violent fans."
BBC World Service reporter Piers Edwards was with the visiting supporters as they left the stadium and said some were taken to hospital.
He picked up several objects that ended up on the pitch, including a jagged piece of broken mirror, half a plate and a rock. Play finally resumed after many fans had left the stadium, with both teams seeing out the final three minutes.