Basetsana found themselves in trouble in the 22nd minute when they failed to clear their lines and were almost punished, but defender Chamelle Wiltshire saved the day as she cleared a shot on the line.
But South Africa also had their chances. A ball was floated into the opposition box and Linda Motlhalo did well to chest trap and turn a defender, but an alert Hazel Nali in the Zambia goals stopped her powerful shot.
On the stroke of halftime, Gabriela Selgado was given space and her long-range shot beat the keeper, but not the crossbar.
At the start of the second half Basetsana brought on Mosili Makhoali for Lelona Daweti, while Zambia made a double substitution – Hellen Chanda and Agnes Musase coming on for Rodha Chileshe and Melan Mulenga respectively.
The match degenerated into a physical battle in the second half with Zambia coming out the better of the two sides.
Only a few real chances were created in this stanza. In the 70th minute, home captain Barbra Banda dribbled past defenders and unleashed a powerful shot which sailed across the face of goal.
She was back ten minutes later and this time faced with the keeper, but her shot was parried for a corner.
Both sides made further changes with Tshwarelo Digaoto and Drishana Pillay coming on for Anelisa Ndyebi and Bongeka Gamede respectively while Maclean Daka took the place of Grace Chanda in the junior She-polopolo side.
But that did not alter the result and it ended goalless at the Nkoloma Stadium.
The second leg will be played in a fortnight at the Makhulong Stadium in Tembisa.
Zambia: Hazel Nali, Margaret Belemu, Martha Tembo, Milika Limwanya, Lweendo Chisamu, Esther Mukwasa, Melan Mulenga, Irene Lungu, Barbra Banda, Rodha Chileshe, Grace Chanda
South Africa: Mapaseka Mpuru, Amanda Mthandi, Chamelle Wiltshire, Linda Motlhalo, Amogelang Motau, Gabriela Salgado, Lelona Daweti, Thalea Smidt, Anelisa Ndyebi, Bongeka Gamede