As expected, Stars were on the front-foot in the opening minutes, and nearly took an early lead but Sinethemba Jantjie was unable to tap-in a low cross.
Richards Bay grew stronger towards halftime and were nearly in front when Paseka Sekese shoved two defenders to shoot over the top from a tight angle.
A long-ball over the defence landed kindly to Michael Gumede, who failed to find the back of the net from close range, before Mpho Erasmus' left-footed shot was cleared off the line by Rooi Mahamutsa just before the break.
Shortly after the break, Harris Tchilimbou failed convert a free header from an unguarded position, opting to steer it wide instead early in the second half.
The visitors stunned the home outfit with the lead courtesy of a deft finish from Gumede after poor defending from the hosts.
Ea Lla Koto introduced their first change when Sibusiso Masina took the field for Yusuf Jappie inside the final 20 minutes.
Richards Bay were then given a two-goal cushion after a route one delivery from Mbanjwa found Siyanda Ngubo to beat Badra Ali Sangare from point-blank range.
The Bethlehem side pulled a goal back few minutes to full-time when Sifiso Mbhele brought down a cross from the right before firing into the bottom corner.
Searching for the equaliser, Stars weren’t able to get their wish despite a few half-hearted openings, as the National First Division outfit held on for the win.
Stars: Sangare, Mahamutsa, Phungwayo, Mbhele, Dlamini, Makhaula, Jantjie, Jappie, Mobbie, Mokhuoane, Tchilimbou.
Subs: Mbambo, Masehe, Rodgers, Masina, Bhengu, Tema, Maruping.
Bay: Mbanjwa, Erasmus, Mtbule, Zulu, Madondo, Sait, Gumede, Kubeka, Sekese, Bernard, Ngubo.
Subs: Ngubane, Ngcobo, Mthethwa, Mashigo, Maphathe, Shange, Muishond.