Algeria forward Riyad Mahrez curled in a free kick in stoppage time to give Algeria a 2-1 win over Nigeria in a tense Africa Cup of Nations semi-final played in a volatile atmosphere.
The Algerians went ahead when William Troost Ekong turned a Mahrez cross into his own net five minutes before halftime.
Nigeria equalised midway through the second half with a penalty awarded for handball and converted by Odion Ighalo following a lengthy VAR review.
There were ugly scenes as bottles were thrown after the equaliser.
Algeria will face Senegal in Friday’s final after the latter sealed a 1-0 win over Tunisia in Sunday’s first semi-final.
Senegal won with an own-goal in the 100th minute when goalkeeper Mouez Hassen pushed a free kick onto the head of defender Dylan Bronn and the ball bounced back into the Tunisian goal.
In a game of high drama, both teams missed penalties within a few minutes of each other in regulation time at the 30 June Stadium in Cairo.