Amajimbos have now made it two wins from two games in their pool and need just a point against hosts Mauritius on Wednesday to seal their spot in the knockout stages.
Mauritius kept their hopes alive with a narrow 1-0 victory against Seychelles, who have now been dumped out of the competition.
Seychelles can still have a major say in the semifinal qualifiers though, as they face Namibia in their final Group A game.
South Africa were dominant against the Namibians and had the lead in 10 minutes when Luke le Roux converted a penalty.
They doubled that advantage on 28 minutes through Man of the Match James Monyane, and further extended the lead just after halftime as Siphamandla Ntuli scored his second of the tournament.
South Africa added a fourth goal in injury-time when Lani Mchilizeli’s cross floated into the Namibian net.
Meanwhile, Mauritius edged fellow islanders Seychelles with a narrow but deserved 1-0 victory.
The only goal of the game was scored on 77 minutes through Matteo Monple, as his long-range strike was a worthy winner.
Monday’s Group A results:
Namibia 0 South Africa 4 (Le Roux 9’pen, Monyane 28’, Ntuli 52’, Mchilizeli 90’)
Mauritius 1 (Monple 77’) Seychelles 0