The Bulls continued their late-season revival in Super Rugby on Saturday as they claimed all five points in a 32-21 victory over the Cheetahs at Loftus.
Danie Rossouw and Ashley Johnson each crossed on two occasions in what was certainly not the most entertaining match of the weekend.
Johnson's second try was scored under the uprights and came in the 65th minute when his side had already been reduced to fourteen men.
Cheetahs loosehead prop Coenie Oosthuizen had earlier been sin-binned for tackling Bulls full-back Zane Kirchner in the air.
The Bulls won it at the lineouts where Victor Matfield reigned supreme over Martin Muller.
They stole no less than five balls from this set piece and were also in uncompromising mood at the scrums where Werner Kruger and Dean Greyling took charge of proceedings.
The Bulls' front row neutralised several of the more powerful weapons in the Free State armoury, while some outstanding cover defence ensured that the visiting side remained scoreless until the 52nd minute.
In the first half, the Bulls struck early with a superb try by wing Bjorn Basson, but could only add three more points, courtesy of a Morne Steyn penalty to enjoy a 11-0 lead at half-time.
While Johnson again delivered a performance which would have impressed the Springbok selectors, it was Rossouw's brute strength at the contact area which put his side on the front foot. That Rossouw is still starting off the bench is a mystery.
And although there were a few occasions where the brilliance of the Ebersohn brothers shone for the Cheetahs, one of the most important moments of the match came courtesy of scrumhalf Francois Hougaard who scored the bonus point try after the full-time siren.
For the Bulls:
Tries: Basson, Rossouw 2, Hougaard
Con: Steyn 3
Pen: Steyn 2
For the Cheetahs:
Tries: Johnson 2, S Ebersohn
Con: S Ebersohn 3
Bulls: 15 Zane Kirchner, 14 Akona Ndungane, 13 Jaco Pretorius, 12 Wynand Olivier, 11 Bjorn Basson, 10 Morne Steyn, 9 Francois Hougaard, 8 Pierre Spies, 7 Dewald Potgieter, 6 Deon Stegmann, 5 Victor Matfield (capt), 4 Bakkies Botha, 3 Werner Kruger, 2 Chiliboy Ralepelle, 1 Dean Greyling.
Replacements: 16 Gary Botha, 17 Rossouw de Klerk, 18 Flip van der Merwe, 19 Danie Rossouw, 20 Dustin Jinka, 21 Francois Brummer, 22 Gerhard van den Heever.
Cheetahs: 15 Riaan Viljoen, 14 Philip Snyman, 13 Robert Ebersohn, 12 Corne Uys, 11 Riaan Smit, 10 Sias Ebersohn, 9 Sarel Pretorius, 8 Davon Raubenheimer, 7 Ashley Johnson, 6 Kabamba Floors, 5 Martin Muller, 4 Francois Uys, 3 WP Nel, 2 Adriaan Strauss (capt), 1 Coenie Oosthuizen.
Replacements: 16 Ryno Barnes, 17 Lourens Adriaanse, 18 Hendrik Roodt, 19 Johan Wessels, 20 Tewis de Bruyn, 21 Naas Olivier, 22 Hennie Daniller.
Referee: Mark Lawrence (South Africa)