The match ended 0-0 after extra-time, and Chipolopolo won the penalty shoot-out 5-3.
South Africa will play Lesotho in the third place play-off on Saturday.
The first half was a high-tempo scrappy affair, with no scoring chances to speak of.
Bafana were beaten for pace in the centre of the park, and looked nervous at the back, with Tshepo Gumede especially making some panicky clearances, and Hlompho Kekana resigned to hoofing the ball forward.
The South Africans struggled to string passes together, and moves broke down quickly due to poor decision making and constant pressure from the Zambians.
Bafana’s strategy of playing long balls into the box proved ineffective, with most passes being misdirected or too heavy for the forwards to run onto.
Lebogang Manyama looked dangerous when he did collect the ball, but too often found himself confronted and foiled the Zambian defence.
Chipolopolo, by contrast, played the ball up field with composure, with Bornwell Mwape a muscular presence in the final third, and Festus Mbewe in particular looking dangerous on the right, sending in some dangerous crosses.
Igesund brought on Lerato Chabangu five minutes after the restart, and the Moroka Swallows veteran was a calming influence on his young teammates.
And it was a corner from Chabangu that created Bafana’s first real chance: Lehlohonolo Nonyane hit the crossbar with a header and Ruzaigh Gamildien skied the rebound from about three metres out.
Igesund brought on Mandla Masango on 58 minutes, and he immediately started making a nuisance of himself, but could not create any real structure.
Eight minute from time Bafana came close again, after a great give and go move between Manyama and Masango. The Kaizer Chiefs man put the cross in, which was met by an onrunning Chabangu. He was forced to hit the ball on the volley – and did well to cushion his shot, but hits the corner of goal.
Zambia came close a few minutes later, off a free-kick that looked to be out of the danger area. The ball was sent in with pace and Kondwani Mtonga got a foot on it, but luckily for Wayne Sandilands and Bafana it hit the upright.
Mtonga came close again on 90 minutes with a blistering free-kick, which Sandilands just got a hand to, to tip over the bar.
Extra-time was more of the same, except with both sides’ energy levels down.
Manyama sneaked in past the Zambia defence and should have given Bafana the lead, after a great ball over the top by Chabangu, but he hit his shot over the bar.
South Africa applied some pressure in the second half of extra-time, earning a number of set-pieces, and Mzikayise Mashaba forced a good save out of Danny Munyau.
But neither team could find the impetus to create any meaningful chances and the match went to penalties, where Zambia prevailed.
Penalty shoot-out: N’gonga (scored), Hlatshwayo (scored); Mwape (scored), Manyama (scored); Phiri (scored), Chabangu (saved); Chongo (scored), Mashaba (scored); Chama (scored)