Key events

Show key events only

Please turn on JavaScript to use this feature

Match reportsShare

It’s history for Morocco though – a first Afcon final since 2004, when their manager Walid Regragui was playing. Achraf Hakimi continues to lead by example, his penalty the coolest of the lot. Brahim Díaz has been the star of the tournament but looked shattered tonight. Yassine Bounou is world class when it comes to penalty shootouts.

Only Senegal stand in their way of a first continental crown since 1976 back in Rabat on Sunday.

Morocco’s captain Achraf Hakimi celebrates with his team’s mascot. Photograph: Siphiwe Sibeko/ReutersShare

Updated at 18.04 EST

Nigeria’s wait for a first Afcon title since 2013 goes on. They were flat throughout this semi-final and failed to make the most of their considerable attacking talent. Calvin Bassey was superb at the back. Questions will be asked over the decision to bring off Victor Osimhen with penalties looming.

Nigeria’s Bright Osayi-Samuel and Bruno Onyemaechi look dejected after losing the match in the penalty shootout. Photograph: Siphiwe Sibeko/ReutersShare

Updated at 18.09 EST

The final: Senegal v Morocco, Sunday 8pm (GMT)

Third place: Egypt v Nigeria, Saturday 4pm

Share

Bounou is the hero again after a shootout for Morocco. He’s thrown in the air by his teammates.

Share

The Stade Prince Moulay Abdellah erupts! Nwabali went the right way but En-Nesyri’s spot-kick had enough pace on it to get past him.

Scenes! Photograph: Franck Fife/AFP/Getty ImagesShare

Updated at 18.13 EST

MOROCCO WIN ON PENALTIES!

En-Nesyri sends Morocco to their first Afcon final in 22 years!

Morocco’s players celebrate after En-Nesyri slotted home from the spot to win the penalty shoot-out to send them through to the Africa Cup of Nations final. Photograph: Franck Fife/AFP/Getty ImagesShare

Updated at 17.53 EST

Onyemaechi for Nigeria … saved by Bounou! The keeper went early and gets a hand to it!

3-2 to Morocco after four each. Match point.

Share

Hakimi for Morocco … scores! Strokes it in cooly. 3-2 Morocco.

Morocco’s Achraf Hakimi scores. Photograph: Siphiwe Sibeko/ReutersShare

Updated at 17.49 EST

Dele-Bashiru for Nigeria … scores! Sends Bounou the wrong way. 2-2 after three each.

Share

Ben Seghir for Morocco … scores! Out of Nwabali’s reach. 2-1 Morocco.

Share

Chukwueze for Nigeria … saved by Bounou! Poor penalty, easily saved low. 1-1 after two each.

Morocco’s keeper Yassine Bounou saves a penalty from Nigeria’s Samuel Chukwueze. Photograph: Franck Fife/AFP/Getty ImagesShare

Updated at 17.51 EST

Igamane for Morocco … saved by Nwabali! He gets a fingertip on it low down to his right. 1-1.

Morocco’s Hamza Igmane reacts after becoming the first player in the shoot-out to fail to find the target. Photograph: Siphiwe Sibeko/ReutersShare

Updated at 17.46 EST

Onuachu for Nigeria … scores! Bottom left, keeper goes the other way. 1-1 after one each.

Share

El Aynaoui for Morocco … scores! Sends Nwabali the wrong way. 1-0.

Morocco’s Neil El Aynaoui scores. Photograph: Siphiwe Sibeko/ReutersShare

Updated at 17.43 EST

PENALTY SHOOTOUT

Both teams have another huddle before they line up on the halfway line. Virtually the whole ground is Morocco fans so it doesn’t matter which end they go. Morocco to take first.

ShareFull time after ET: Nigeria 0-0 Morocco

That’s it. Penalties will decide who will play Senegal in the Africa Cup of Nations final on Sunday. Morocco, with Bounou in goal, will probably be favourites but the pressure is all on them as hosts.

All thoughts are now on the penalty shoot-out. Photograph: Paul Ellis/AFP/Getty ImagesShare

Updated at 17.40 EST

120+1 min: Nigeria make another change. Fulham’s Chukwueze replaces Brentford’s Onyeka.

Share

Updated at 17.32 EST

120 min: Nigeria clear the ball to El Aynaoui and his speculative half-volley is straight down Nwabali’s throat. One minute added. Penalties loom.

Share

119 min: Morocco recycle the ball and will make one last push for a winner.

Share

118 min: A very strange move by Nigeria as Osimhen, surely their best penalty taker, is withdrawn for Onuachu. Morocco replace Saibiri with Ben Seghir.

Share

117 min: Sloppy play from Morocco in midfield allows Nigeria to break, with Lookman finding Simon, whose cross into the box is seen off by Aguerd.

Share

115 min: Hakimi’s free-kick is headed away. Bassey then butts an Igamane cross away too.

Share

114 min: We’re approaching the majority of players now who are on their haunches when there’s a pause in play. Morocco have a free-kick about 35 yards from goal. Hakimi may well swing it into the box.

Share

112 min: Another couple of fouls. Both teams look exhausted and are being very risk-averse. Understandably, perhaps.

Share

110 min: Onyemaechi takes issue with Akhomach after a challenge by the touchline. It’s scrappy.

Share

108 min: Brahim does now leave the field, replaced by Ilias Akhomach. One of Morocco’s potential penalty takers departs. He did look dead on his feet, mind.

Share

107 min: Morocco get forward again and players go down at various points on the edge of Nigeria area. A few whistles in the crowd are making it very difficult to tell when there’s actually been a foul.

Share

Second half of ET begins: A couple of team huddles later, we have swapped sides and we go again. Hosts Morocco still in search of their first Afcon final for 22 years, their first title for 50. It’s going to be tense.

Share

Half-time in ET: After one minute of added time played and a couple of speculative Morocco crosses, the whistle goes.

Share

105 min: Nigeria threaten as Simon crosses into the box. Osimhen tries to take it down and then Lookman tries to find some space to shoot but can’t. The whistle goes for … something. I’m not sure what. Handball perhaps. Anyway, Osimhen is moving a bit gingerly.

Share

103 min: Ezzalzouli is the man replaced by En-Nesyri. Bit of a U-turn from the Morocco manager after a jumpy reaction to Brahim potentially coming off from the crowd.

Share

101 min: Brahim, very quiet since half-time, is being replaced … or is he? Regragui changes his mind. En-Nesyri is waiting to come on. Play restarts.

Share

Updated at 17.09 EST

100 min: Ezzalzouli can’t tame a bouncing ball in the Nigeria box and it falls to Igamane, who can, but whose shot is gathered by Nwabali.

Share

98 min: Adams is replaced by Fisayo Dele-Bashiru, formerly of Sheffield Wednesday, for Nigeria.

Share

97 min: Mazraoui toes the ball away from Adams as Nigeria force their first corner of the game. Lookman’s delivery is rubbish and headed away short of the near post.

Share

95 min: Igamane nutmegs Onyeka on the edge of the box before curling a shot well wide of the far post. Not bad.

Share

93 min: Off the post! Hakimi drifts his corner to the back post and Aguerd is there to head/shoulder it on to the outside of the post. It was a very tight angle – he was almost off the pitch.

Share

Updated at 17.02 EST

92 min: Morocco win a corner after Osayi-Samuel toes it away from Ezzalzouli. Hakimi will take …

ShareExtra time starts

Here we go again. Another half an hour to find out who will play Senegal on Sunday.

ShareFULL TIME: Nigeria 0-0 Morocco

Extra time is needed. Judging by how late both managers left it before using their bench, they anticipated this and have planned for it. Let the tension build further.

Share

90+2 min: Mazraoui tries to break free but Osimhen wins the ball back. Moses has been a lively introduction down the left but his ball into the box is near nobody and Bounou collects.

Share

90+1 min: Bassey goes long, it’s flicked on by Osimhen but Lookman can’t get on the end of it. Morocco win it back.

Share

90 min: Ezzalzouli makes Osayi-Samuel look very foolish out wide but his cross finds no one in a red shirt. Three minutes added on. Extra time beckons.

Share

88 min: Bassey goes long to try to find Moses down the Nigeria left. Hakimi tries to see the ball out but Moses fouls him as the defender prods it out for a corner. Again, it’s soft.

Share

86 min: Adams makes gains down Nigeria’s right, forcing his way through a couple of Morocco defenders to win a throw.

Share

84 min: Morocco make changes too. Oussama Targhalline replaces El Khannous and Hamza Igamane, formerly of Rangers, is on for El Kaabi.

Share

83 min: Ezzalzouli tries his luck from the edge of the box and his bouncing shot across goal is pushed away by Nwabali. Morocco are on top. Nigeria respond by replacing Onyedika with Moses Simon. Quite attacking.

Share

82 min: El Khannouss lofts the free-kick and it’s easily gathered by Nwabali. Nigeria launch a counter but Morocco get enough bodies back.

Share

81 min: Hakimi’s shot hit Bassey’s thigh and then his hand, which is by his side. Not a penalty. Morocco have another wide free-kick on the edge of the box.

Share