South Africa had early chances to take the lead but squandered them, and were put under strain by an experienced Chinese team towards the end of the first 45 minutes.
Jermaine Seoponeswe fashioned a fantastic chance for herself in the very first minute, receiving a pass from the right from Thembi Kgatlana and cutting inside her marker first time, onto her left foot, but then taking too long to place her shot, which was straight at the lanky goalkeeper.
Banyana’s ‘Neymar’ had another chance in the 12th minute after being played in behind by Refiloe Jane from the left. Seoponeswe surged through the middle but her shot was blocked at the last second by Chinese defender Liu Shanshan.
There minutes later Seoponeswe (pictured below) had more space to run into and beat her marker down the left channel before neither crossing nor shooting once she got into the box, and another chance was lost.
Then in the 17th minute Roxanne Barker made a huge save to deny Wang Shuang. A ball was played into the box and poorly cleared straight to an unmarked Shuang, but Barker got across quickly to save with her feet when a goal looked certain.
Kgatlana then threatened down the left four minutes later, burning her defender for pace before getting into the box and dragging a left-footed shot wide of the far post.
In the 25th minute captain Janine van Wyk produced a magnificent last-ditch tackle on Chinese striker Yang Li when she was through on goal and about to pull the trigger.
Van Wyk came to the team’s rescue once again in the 36th minute when Li crossed for Zhang Rui running in towards the near post, but somehow Van Wyk got across to block another certain goal.
Barker then produced another fine save low down to her left to keep out the resultant corner, which was was headed goalward by the dangerous Li.
More warning signs were there for Banyana in the 42nd minute when Li was played through on goal and rounded Barker, who did just enough to put the striker off as Li took the ball out of play when she should have scored.
Van Wyk came agonisingly close to putting Banyana ahead a minute before the break from an indirect free-kick inside the Chinese area but after her initial shot was blocked, her follow-up cannoned back off the crossbar.
Then in stoppage time at the end of the first half came a crushing blow for the South Africans as Gu Yasha raced onto a through-ball and buried a low shot past Barker and into the bottom-right corner.
The second half yielded less joy for Banyana as China used their experience to exploit the gaps left by the chasing South African players, who at times left big holes in the centre of the park and failed to track their runners.
Barker in goal twice had to bail out her defenders with great saves as she denied substitute Wang Shanshan twice in two minutes following poor errors by Van Wyk and Noko Matlou.
Tan Ruyin put the result beyond doubt in the 87th minute with a brilliant goal from about 45 yards out that caught the backtracking Barker off her line as she got fingertips to the ball but could only watch as it hit the underside of the crossbar and trickled over.
Barker still had to make a double save to keep out Shanshan in stoppage time as Banyana fell apart.
Vera Pauw's side will now need a miracle to beat Brazil in their final group match and qualify as a best third-placed finisher.
TEAMS
Banyana: Barker, Ramalepe, Vilakazi, Matlou, Van Wyk (c), Makhabane (Nyendeni 80'), Malherbe, Motlhalo, Seoposenwe, Jane, Kgatlana (Mollo 84')
China: Z Lina, L Shanshan, G Chen, L Dongna (c), T Ruyin, Y Li (W Shanshan 65'), W Shuang, P Fengyue, Z Rong (W Haiyan 29'), Z Rui, G Yasha
VIEW: Women's Olympic Tournament standings