It was a match in which two home team goalkeepers were sent to hospital for medical treatment.
Banyana will carry their advantage through to the return leg, to be played in Nelspruit, Mpumalanga, on June 16.
The visitors went into the match ranked 65th in the world compared to the 126th placing of the Zambians.
There were no goals in the first half, and Zambia lost the services of their goalkeeper Mirriam Katamauda, who was carried from the field and taken to hospital after pulling off a close range save from Noko Matlou in the 20th minute.
Substitute goalkeeper Delly Lumwaya was kept busy for the remainder of the first half, but the scoring chances that went the way of Matlou, fellow striker Portia Modise and midfielder Mary Ntsweng – a header put over the cross bar from close range – were not converted.
The South Africans were lucky to escape being a goal down at the break after a piledriver from the left by Musonda Sakala was cleared away from the Banyana goalmouth, with goalkeeper Thoko Mndaweni beaten.
Matlou headed home two minutes after the half-time break to continue her goal-scoring form. She also scored in the national team's 2-1 win over the Zambians in an Olympic qualifier there in January last year.
But the Zambians showed great character to equalise in the 60th minute when a looping ball played in to the right hand side of the penalty area was blasted home by Etas Banda with the South Africans appealing unsuccessfully for an offside ruling.
But three minutes later, Lumwaya made an awful blunder as she dropped a relatively easy cross at the feet of second-half substitute Sanah Mollo, who scored with ease.
It was the Bloemfontein Celtic striker's third goal in two matches, as she scored twice as a substitute in Banyana's 5-2 win over Tanzania in a friendly played in Dar es Salaam last weekend.
Things went from bad to worse for Zambia when, eight minutes later, Lumwaya was left red-faced as she dropped the ball into her own goal-net at the near post, after a free-kick by defender Nothando Vilakazi.
Lumwaya, who was later rushed to hospital, spent five minutes on the grass receiving medical attention after she collided with the goalpost.
Substitute midfielder Chisala Musonda changed into the goalkeeper's jersey – becoming the third goalkeeper for Zambia in one match.
Banyana took advantage, with Mollo cruising through the host's defence and scoring her second goal of the match with ease.
Joseph Mkhonza says he is happy with the win in Zambia, and proud with his team's mental strength in front of a home crowd.
"We came here to accomplish one of our missions and that's playing towards the number-one spot on the continent. The girls showed character and applied what we learnt, as they scored two goals from set-pieces," Mkhonza says.
"Going into the second leg, we don't want to dwell on the 4-1 lead, but rather aim at scoring more goals."