The Bloemfontein club scored late second half goals, courtesy of Muzikayifani Ngidi in the 79th minute and an injury time strike from Aaron Lepede.
Bay did show their class in the first half, the best chance falling to Kagiso Mashishi in the 15th minute, who hit a powerful long range shot that Roses goalkeeper Lesiba Mothokaa did well to tip over the bar.
Both sides played out a listless remainder of the half, and, perhaps looking to take advantage of any weakness in Bay's attack, Roses came on strong despite the bad weather.
Bay had chances of their own, Khomotso Mpaketsane came close with a header 10 minutes from time, which was tipped over by Mothokaa.
Moments later Ngidi put Roses ahead with a low shot.
The hosts then made sure of the vicotry in injury time when Lepele found the top right corner of the net to secure the win.