Mphela lost his marker in the 75th minute, cut into the penalty area and sent a powerful shot into the far corner with his right foot.
The World Cup hosts nearly doubled their lead in the 90th, but Surprise Moriri's shot was deflected for a corner.
South Africa, which is unbeaten in its last 12 matches, hosts Mexico in the opening game of the World Cup on Friday at Soccer City in Johannesburg.
Everton midfielder Steven Pienaar, considered South Africa's best player, made his 50th national team appearance, but had an off day. He was replaced by Moriri in the 63rd minute.