Marcin Komorowski got the goal for the Poles in the second half.
Gordon Igesund's side were outplayed by the Eastern Europeans, who will take confidence from this performance as they head into a 2014 World Cup qualifier against England next week.
Only a fine performance from goalkeeper Itumeleng Khune kept the score down, while the visitors' attack never really provided any kind of threat to the Polish defence, despite them enjoying a good share of ball possession.
Bafana handed debuts to full-back Luvhengo Mungomeni and Ricardo Nunes. The latter was caught out early in the game when Ariel Borysiuk ran free down the right and crossed for Adrian Mierzejewski, who shot wide of goal.
It was the first of many chances for the Poles, who were certainly the more potent of the two teams as far as attacking play was concerned.
On 17 minutes striker Artur Sobiech somehow missed a sitter from close range after a cross from Pawel Wszolek, as the hosts continued to look dangerous from wide areas.
On 26 minutes Arkadiusz Piech sprung the South African offside trap in a swift counter attack and looked destined to open the scoring, but Khune came up with a good save in a one-on-one situation to keep his team on par.
Bafana Bafana's only threatening moment arrived six minutes into the second half when a free-kick from Nunes found the head of Kagisho Dikgacoi, but the midfielder's effort flashed across the face of goal, much to the relief of goalkeeper Przemyslaw Tyton.
From then on it was all Poland, and Khune was soon forced into another good save, this time to deny Sobiech, while on 67 minutes substitute Waldemar Sobota headed wide of the target as the hosts once more cut Bafana's defence open out on the flanks.
On 82 minutes Poland's pressure finally paid dividends, as right-back Grzegorz Wojtkowiak provided a low cross that was swept home by Marcin Komorowski. Khune was helpless to deny the attacker as the Poles went ahead.
Bafana thought they had scored an equaliser in injury time when Siyabonga Sangweni glanced home a header, but he was correctly ruled offside and the goal did not stand.
Poland (0) 1 (Komorowski 82)
South Africa 0
Poland XI: Tyton, Wojtkowiak, Wawrzyniak, Perquis, Wszolek, Komorowski, Borysiuk, Mierzejewski, Piech, Sobiech
Subs used: Sobota, Grosicki, Danch, Murawski, Komorowski, Obraniak
Bafana XI: Khune, Mungomeni, Khumalo, Sangweni, Nunes, Myeni, Furman, Dikgacoi, Tshabalala, Chabangu, Parker
Subs used: Letsholonyane, Modise, Ndlovu, Lebese