Senegal snatched a last-gasp win over South Africa to end their 2018 World Cup qualification campaign on a high at a packed Stade Léopold Sédar Senghor in Dakar on Tuesday.
Bafana Bafana had their moments, but were punished for some poor defending and a failure to convert their chances.
In this feature, KweséESPN rates the performances of the players.
7 - Alfred Gomis made some assured saves and was also good in dealing with high balls.
6 - Moussa Wague: Laid on the winner as his corner was headed home by Kara Mbodji, but also at times struggled to contain the quick South African midfielders.
7 - Kara Mbodji: Won the game with a fine header and also looked strong throughout the 90 minutes.
6 - Cheikhou Kouyaté: Read the quick passing of the South Africans well and made some vital interceptions.
5 - Youssouf Sabaly: Showed his inexperience at this level with a sloppy challenge to give away the penalty. He'll have to improve if he is to win a World Cup starting berth.
7 - Opa Nguette: Showed great awareness to take his goal well, spotting the goalkeeper off his line and providing a pinpoint chip.
6 - Idrissa Gueye: More of the same from Gueye as he proved a tireless worker in the centre of midfield.
6 - Papa Alioune N'Diaye: Drifted in and out of the game and was replaced on 80 minutes by Cheikh N'Doye.
6 - Alfred N'Diaye: Always a willing outlet for Senegal, he was unlucky when his shot crashed against the crossbar. Worked hard and was replaced by Assane Dioussé with two minutes remaining.
5 - Moussa Sow: A quiet night for the forward who battled to get into the game.
6 - M'Baye Niang: Put himself about and used his strength to hustle the visiting defenders, but barely had a sniff of goal. Replaced on 73 minutes by Saliou Ciss.
6 - Saliou Ciss: Brought on to test the South African tired legs for the final stages.
Cheikh N'Doye: He only had 10 minutes at the end of the game.
Assane Dioussé: He only had two minutes at the end of the game.
6 - Itumeleng Khune was uncharacteristically indecisive for the Senegal opener as he raced well off his line to collect a ball he was never in contention for and ended up being chipped by Nguette.
He had a hand in the Bafana equaliser though with some pinpoint distribution that allowed Themba Zwane to set-up Percy Tau.
6 - Thamsanqa Mkhize: Battled to get into the game and was at times caught in possession.
5 - Morgan Gould: Battled hard and showed his warrior qualities against the physical home side, but might have done better with the Senegal winner as he failed to challenge Kara Mbodji in the air.
6 - Clayton Daniels: Came up with some strong tackles and scrambling defence on a tough night for defenders.
6 - Sifiso Hanti: Had a free kick chance in the first half that he flashed just wide and defended pretty well through the 90 minutes.
6 - Dean Furman: Picked up a yellow card in the second period as he tried to make a nuisance of himself in breaking up the Senegal play. He succeeded at times.
7 - Bongani Zungu: Helped Bafana gain some semblance of control in the central midfield with his high work-rate and ability to pick the right pass.
6 - Themba Zwane: Not a good night as he won a penalty but then spurned the chance to equalise from 12 yards as he put his spot kick wide. He did set up Tau for his equaliser though before being replaced by Andile Jali after 71 minutes.
5 - Keagan Dolly: Did not have the influence on the game he might have liked on his return to the side.
6 - Sibusiso Vilakazi: Was busy and tried to be the link between the midfield and Tau up front. He didn't always succeed, and was replaced by Lebogang Manyama after 84 minutes.
7 - Percy Tau: Had another fine outing and took his goal well with a composed finish. Also provided the pass that set Zwane away for the penalty that was missed. He did well against the much more physical home defence.
6 - Andile Jali played the final 20 minutes having perhaps surprisingly not been given a start.
Lebogang Manyama: He had only six minutes at the end of the game.