Arsenal midfielder Thomas Partey thought he had helped Ghana breathe new life into their Africa Cup of Nations campaign, only for Gabon to hit back with a last-gasp equaliser which has left his country's hopes hanging by a thread.
And Ghana will be without Benjamin Tetteh for their final game after the substitute was shown a red card for throwing a punch after the full-time whistle was blown as things got heated in Cameroon.
Partey provided the assist for Andre Ayew 's opener, which arrived when the former West Ham United forward collected a sharp pass from the Arsenal man and created space from himself before lashing a shot into the bottom corner from the edge of the area.
The goalscorer's brother Jordan came close to doubling the lead in the second half, while Joseph Paintsil also had a chance to extend Ghana's lead, but they were made to pay for their missed chances when Jim Allevinah equalised with just two minutes left on the clock.
Can Partey and Ghana recover to win the Africa Cup of Nations? Have your say in the comments section
The game was supposed to be a battle between the Gunners man and his Arsenal colleague Pierre-Emerick Aubameyang, but the Gabonese forward was left out after his country's medical team discovered "heart lesions".
The result leaves Ghana's hopes of qualification hanging in the balance, after Milovan Rajevac's side lost 1-0 to Morocco in their first group game.
Morocco are now through, having beaten Comoros in the day's other Group C game, and Ghana will likely need to beat the tournament debutants to give themselves a chance of progressing.
However, Gabon are all but through, despite being without Aubameyang and fellow senior player Mario Lemina for their first two group games.
Players from both Ghana and Gabon came together on the pitch after the final whistle in Yaounde, with the favourites clearly frustrated after failing to hold onto their lead.
And replays appeared to show Tetteh, who had only entered the pitch as a substitute after the equaliser, throwing a punch in the direction of Gabon forward Aaron Boupendza.
Referee Lahlou Benbraham was unable to immediately locate the Ghanaian striker as the players dispersed, but confirmed he was being dismissed for his part in the scuffle.
Gabon's football association confirmed they would not be taking risks over Aubameyang, Lemina and Axel Meye, all of whom have only recently returned to training, were left out as a precaution following medical checks.
A decision on their involvement in the Morocco game will need to be made ahead of the January 18 meeting, with Ghana and Comoros facing off at the same time.
Four of the six third-place sides will make it into the last 16 of the competition, so there is still a chance for both Ghana and Gabon to progress.