Benedetta Orsi (32' OG)
Hildah Magaia (67')
Thembi Kgatlana (90'+2')
Arianna Caruso (11' Pen, 74')
Striker Kgatlana struck two minutes into stoppage time to send her team off to Sydney for a clash with Netherlands on Sunday, and broke the hearts of the Italians, who had needed a draw to progress.
Italy had appeared to salvage the draw they needed when Arianna Caruso scored from a corner in the 74th minute but were left to rue what could have been after a series of late missed chances.
Italy opened the scoring when Karabo Dhlamini tripped Italy forward Chiara Beccari just inside the box in the 10th minute and Caruso converted the penalty with a confident shot into the bottom left corner of the net.
South Africa went ahead for the first time in the 67th minute when Kgatlana's neat inside pass found Hildah Magaia free behind the defensive line and the forward swept it into the net.
Caruso answered seven minutes later from a corner when the ball caught her hip in a goalmouth scramble and cannoned into the bottom right corner of the goal.
It looked as though Italy might hang on for the draw in a frantic finale but Magaia's pass found Kgatlana in the box and the striker smashed the ball into the net to secure second place in the group behind Sweden.