Asamoah Gyan scored on an 85th-minute penalty kick Sunday as Ghana beat Serbia 1-0 in a Group D match at the FIFA World Cup in Pretoria.
Zdravko Kuzmanovic needlessly handled a cross in the area, then argued the call and the yellow card he received. Gyan drove the penalty kick high to the left for the only goal at Loftus Versfeld stadium.
Previously, Ghana missed a series of headers. John Mensah and Gyan missed the target and Dede Ayew headed against the goalpost.
Serbia's only real threat near the end was a shot by Milos Krasic that was brilliantly saved by Richard Kingson.
The Serbs had Aleksandar Lukovic sent off in the 74th minute for a second yellow card.
The only African team to reach the second round at the 2006 World Cup, Ghana had the vast majority of the support among the South Africans in the stadium.
"Every African is behind us," Gyan said. "I salute all you guys, we win this match for you."
Gyan almost made it 2-0 in injury time but hit the post after a burst down the left side.
"This is all I have worked for, and to be man of the match, it is fantastic," he said.
The fast-moving Ghanaians created more chances and could have been ahead by halftime.
Central defender Mensah headed a free kick wide of the far post and Gyan failed to reach a left wing cross by Kevin-Prince Boateng as the Serb defence struggled against well-directed balls into the middle.
Defender Aleksander Korolov produced the first threat to the Ghanaians with a 30-yard free kick that sailed just wide, and Kingson fumbled another long range drive by Dejan Stankovic.
But they made little use of the height of 6-foot-8 striker Nikola Zigic, who was replaced in the middle of the second half having made little impact.
The Serbs finally got close in the 79th when Marko Pantelic left the ball to Krasic, whose left-footed shot was acrobatically pushed over the crossbar by Kingson.