The match produced several yellow cards, a red card and a hattrick of tries, while the Airlink Pumas will feel very hard done by as they came so close in the second half to score a potential match-winning try.
The pink and grey jerseys went into the halftime break with a well-deserved 26-12 lead having scored four tries and three conversions, while the hosts were awarded a penalty try to add to their unconverted try.
With the Airlink Pumas one man down because of a red card to flyhalf Tinus de Beer for a tip tackle, the home side managed to worm their way back into the game to eventually score three tries more tries to complete their successful comeback. They managed to score all the points in the second stanza as the visitors saw a second yellow card to add to their misfortunes.
It was a high octane first half, with the Lowvelders surprisingly well in control of matters. Right wing Sebastian de Klerk scored a hattrick of tries and was also yellow carded, while pivot De Beer was red carded minutes before halftime for a dangerous tackle on Richard Kriel.
In-between hooker Eduan Swart scored the Pumas' third try off the back of a powerful maul. However, De Klerk then turned villain when he was sin binned for his attempt to stop a goal-bound maul, with the referee awarding a penalty try against them.
A pivotal moment in the game came seven minutes before the break when De Beer tried to stop Richard Kriel in full flight, who still managed to pass to his brother David to score in the wide channel. De Beer's tackle on Richard was deemed too dangerous, thus reducing the visiting team to 14 men.
But De Klerk then atoned for his earlier transgression when, soon after his return to the field, he charged down a clearance kick to gather the ball and touch down for his third.
It was no surprise that the home side quickly gained the upper hand in the beginning of the second half as a result of their numerical advantage.
Lanky No 4 lock Ruan Vermaak forced his way over next to the upright and with Morne Steyn adding the extras, the light-blue jerseys were all of a sudden within one-score striking range and with almost the whole second half still to come.
Just a quarter of an hour into the second half they managed to wipe out their deficit when James Verity-Amm showed deft footwork to dribble the ball ahead, collect and score his side's fourth try, which Steyn converted to level scores at 26-26.
Minutes later the momentum swift was completed when Kriel crossed over for his second try of the game as they pulled ahead by five points to lead 31-26.
Unfortunately, the visitors then had a try disallowed for illegal play and a penalty awarded against them for having too many players attached to the ball carrier from a tap penalty. And things got worse when the referee yellow carded left wing Tapiwa Mafura for an infringement when he contested a high ball.
Home replacement backline player Keagan Johannes was also yellow carded towards the end of the match, while Varity-Amm left the field with a leg injury. Under pressure from a determined opponent, Gert Smal’s team won a crucial scrum penalty to release the pressure for a very hard-fought win.
Vodacom Bulls 31 (12) - Tries: Penalty try, David Kriel (2), Ruan Vermaak, James Verity-Amm. Conversions: Morne Steyn (2).
Airlink Pumas 26 (26) - Tries: Sebastian de Klerk (3), Eduan Swart. Conversions: Eddie Fouche (3).