The South Africans lie second in Group A below leaders Botswana who have a superior goal difference.
Botswana beat Malawi 2-0 in an earlier match.
The South Africans were favourites against Madagascar as defending champions and also because they were playing at home in front of their fans.
They took the match to the visitors early on with Jermaine Seoposenwe doing well on the right flank to find Khanya Xesi in the box.
Xesi beat the keeper to put Banyana ahead.
Seoposenwe was again the architect in Banyana’s second goal passing the ball to an unmarked Nothando Vilakazi after beating a defender.
Vilakazi made no mistake beating the keeper to make it 2-0 for Banyana Banyana.
Sarah Marie beat Banyana keeper, Andile Dlamini, in the 22nd minute from the penalty spot to give the visitors some hope.
However, no team scored a goal in the second half with Banyana Banyana winning 2-1 to collect the maximum points.
Uganda beat Swaziland 4-3 in an earlier Group B encounter of the tournament contested by twelve nations…