Egypt reached the Africa Cup of Nations quarter-finals as Group D winners with a 1-0 win over already qualified Ghana, who finish as runners-up.
Mohamed Salah provided the decisive moment, lashing in a free-kick through a gap in Ghana’s defensive wall.
A mistake by Ghana keeper Brimah Razak presented Marwan Mohsen with a chance to double the lead but he shot over.
Daniel Amartey missed Ghana’s best chance, heading wide from Christian Atsu’s free-kick to the back post.
The result means Egypt will face Morocco and Ghana will take on DR Congo in last-eight matches on Sunday.
Record seven-time African champions Egypt knew a point would be good enough to take them through to the knockout stage and, after Roma forward Salah put them ahead, they were content to sit back and protect their position.
But for all Ghana’s increased possession, Avram Grant’s side – not helped by the loss of captain Asamoah Gyan to injury on 40 minutes – could not find the cutting edge up front to get back on level terms.
And when it appeared they might break through after Atsu’s excellent jinking run had earned him a good shooting chance, the ball bobbled up off the much-criticised Oyem pitch and bounced off his shin as he took aim.
Emmanuel Badu’s low drive from 25 yards brought a decent save from Egypt’s 44-year-old goalkeeper Essam El Hadary, and the Nations Cup’s oldest ever player was also equal to Jordan Ayew’s fizzing effort late on.
Given Ghana’s lack of goal threat, Grant will be concerned that Gyan’s injury will rule the striker out of the match against DR Congo.
Egypt will take confidence from inflicting a first defeat on Ghana in Gabon – it was also the first goal the Back Stars had conceded at the tournament – as well as standout performances by midfielder Mahmoud Hassan and centre-backs Ali Gabr Mossad and Ahmed Hegazy.