International Friendly: South Africa 1 Zambia 0
Having already beaten the Ivory Coast ahead of this month's tournament, Shakes Mashaba's side recorded another impressive win thanks to Phala's first international goal with nine minutes to play.
Mandla Masango had the game's first opportunity after 17 minutes, but the Kaiser Chiefs midfielder dragged his effort wide without testing Zambia goalkeeper Kennedy Mweene.
South Africa threatened again before the break with a flowing move involving Oupa Manyisa, who delivered a dangerous cross into the penalty area that Thabo Matlaba was unable to connect with.
Chisamba Lungu and Emmanuel Mayuka both threatened the South Africa goal thereafter, but it was a frustrating opening half for the 2012 Africa Cup of Nations winners.
The hosts continued to dominate early in the second half, and were denied the opening goal by substitute goalkeeper Danny Munyao - on to replace the injured Mweene - the 27-year-old saving well from Anele Ngcongca.
Phala went close to opening the scoring minutes after coming on in the 74th minute, only to be denied by Munyao, yet he was to get his goal two minutes later.
Fellow substitute Bernard Parker provided a perfect pass for the midfielder, who fired home from inside the penalty area.
South Africa now face Mali in their final warm-up match on Thursday, while Zambia turn their attentions to their tournament opener with the Democratic Republic of Congo on January 16.