Ghana fans massed behind a goal after 82 minutes of the game to seek refuge from missiles being thrown at them.
Bottles rained down as police battled to gain control, while a helicopter hovered over the stadium.
Play resumed for just three minutes as Ghana completed a 3-0 win to reach Sunday's final against Ivory Coast.
The Black Stars had taken a 2-0 lead into half-time, having opened the scoring when Jordan Ayew dispatched a penalty after Kwesi Appiah had been fouled by keeper Felipe Ovono.
They doubled their lead when Mubarak Wakaso drilled home following a counter-attack.
At the end of the first period, crowd unrest was already evident, with the Ghana players shielded by police in riot gear as they left the pitch.
Then, after Andre Ayew had tapped in Ghana's third on 75 minutes and with only eight minutes left, the focus turned to their fans, who left the stands to seek safety behind one of the goals.
Play was stopped as bottles continued to be thrown by the home supporters, littering the running track around the pitch. Chairs were also thrown after being ripped from the stands.
With Equatorial Guinea only stepping in as replacement hosts in November, there were plenty of concerns about preparations and security before the tournament began.
Two quarter-finals were then moved from Ebebiyin and Mongomo amid reported fears of potential crowd issues, although the Confederation of African Football blamed the poor state of the pitches.
When police moved in to try to restore order in Malabo, it took a considerable amount of time before the Ghana fans were safely escorted from the stadium.
There were doubts about the match resuming, with officials locked in discussions at the side of the pitch as the players remained on it.
Once the field was cleared of objects, the match restarted, only for the referee to bring the game to an end three minutes later.
Ghana's Africa Cup of Nations semi-final against hosts Equatorial Guinea was halted for 30 minutes because of crowd trouble in Malabo.