The win pushed the men from Pretoria from eighth place on the log into second place temporarily, which kept them in contention for a place in the top four for a possible home quarter-final.
The first half was an arm wrestle as both teams tried hard to make their presence felt on attack, but the Vodacom Bulls managed to sneak into a 17-10 lead on the stroke of halftime as Madosh Tambwe (wing) crossed the tryline to add to an earlier try by Zak Burger (scrumhalf) and a penalty goal by Morne Steyn (flyhalf), while they limited the visitors to an early penalty try and a penalty goal.
The hosts broke away in the second half with Walt Steenkamp (lock) and Cyle Brink (replacement loose forward) touching down as they continued to stamp their authority, and they limited the visitors to a single try, which allowed them to secure the vital five log points.
Glasgow earned the first points of the match in the fifth minute after being awarded a penalty try when the home team’s No 8 Elrigh Louw collapsed a strong maul close to their tryline, which saw him receive a yellow card.
The hosts had an opportunity to level the scores two minutes later with an encouraging phase on attack, but a knock-on denied them. They continued to attack with intent, and it paid off as Burger picked up the ball from the base of the scrum and dived over the chalk after Ruan Nortje (lock) fell just short of the tryline with a man down to level the scores.
Glasgow fought hard on attack as the half continued and managed to get close to the tryline twice, but a stolen lineout by the Vodacom Bulls and good ruck defence denied them from scoring tries before halftime.
The visitors stretched their lead to 10-7 in the 20th minute thanks to a penalty goal by flyhalf Duncan Weir, but this was cancelled out several minutes later by Steyn, who slotted over a three-pointer of his own.
Steyn had another opportunity at the goal posts shortly before halftime, but his attempt went wayward.
A yellow card for Scotland prop Zander Fagerson in the 41st minute following repeated infringements by the visitors, however, paved the way for the home side to nudge their way into a 17-10 lead before the break with a stunning try by Tambwe who received the ball in space out wide.
The hosts were denied a possible third try in the 52nd minute after Tambwe gathered a beauty of a chip kick to touch down, but he was ruled to be in front of the kicker.
They continued to make their presence felt and their efforts finally paid off in the 59th minute as Walt Steenkamp (lock) crashed over after receiving the ball at pace close to tryline, and the extra two by Steyn pushed them 24-10 ahead.
This boosted their confidence as they sealed their fourth try for the vital bonus point minutes later thanks to some strong forward play, which saw replacement forward Cyle Brink dive over the tryline, handing them a morale-boosting 19-point lead.
Glasgow hit back with a try by fullback Ollie Smith in the 74th minute as he cut through the defence at pace to reduce their deficit to 29-17 with only a few minutes left on the clock and they were denied another soon after with a forward pass costing them, and this saw the Vodacom Bulls wrap up the win.
Vodacom Bulls 29 (17) – Tries: Zak Burger, Madosh Tambwe, Walt Steenkamp, Cyle Brink. Conversions: Morne Steyn (3). Penalty goal: Steyn.
Glasgow Warriors 17 (10) - Tries: Penalty Try, Ollie Smith. Conversion: Ross Thompson. Penalty goal: Duncan Weir.