The Africa Cup of Nations semi-final between Ghana and hosts Equatorial Guinea descended into a "war zone" as play was halted for almost 40 minutes due to crowd disruption.
Ghana players were forced to leave the pitch at half time under the cover of riot police shields as home supporters pelted them with stones and bottles, while visiting fans were forced to seek safety behind the goal.
Police used tear gas and a helicopter, which came within 30ft of the crowd in the west stand, to disperse the mob while play was stopped in the second half.
The Ghanaian FA's official Twitter account condemned the scenes as "barbaric acts of vandalism" and "unprovoked attacks'" as both their players and supporters sought safety.
Play eventually resumed in front of a near-empty Nuevo Estadío de Malabo with referee Eric Otogo blowing the final whistle five minutes early to seal a 3-0 victory for Ghana who will take on Ivory Coast in Sunday's final.
Trouble was sparked just before half time when Ghana were awarded a penalty which Lorient forward Jordan Ayew converted after 41 minutes. Equatorial Guinea contested the decision and were further riled when referee Otogo thwarted their efforts to restart the game quickly while Ghana were still celebrating, causing home supporters to pepper the Ghana bench with bottles.
Ghana doubled their lead before half time as on-loan Everton winger Christian Atsu set up Wakaso Mubarak, sparking fury again from home supporters. The Ghana bench was forced to retreat to the centre of the pitch as bottles rained down once more, forcing riot police to provide an escort on and off the pitch.
Equatorial Guinea players pleaded with their home fans for calm, and while the situation cooled somewhat as the second half began, Ghana's third goal saw the game descend into chaos again.
Andre Ayew's tap home from close range with 15 minutes remaining enraged the home support, forcing Ghana fans to flee their section of the stadium, massing behind their side's goal for safety before authorities attempted to evacuate them. Reports suggested Equatorial Guinea supporters were waiting for them outside.
Equatorial Guinea authorities then swooped in with tear gas and a helicopter, which made three sweeps of the stadium to disperse the crowd.
Amazingly, with eight minutes to play, the match resumed before the final whistle was blown five minutes early.
Ghana have since called for firm action against Equatorial Guinea following the attacks on their players and supporters.
"It's a pity that this dark cloud overshadows our success and we really need to see some stiff action taken by the Confederation of African Football (CAF)," Kwesi Nyantakyi, president of the Ghana Football Association, told Reuters.
"This kind of behaviour is just unacceptable."