The Bulls kept their Super Rugby play off hopes alive with a bonus point 40-24 victory over the Cheetahs at Loftus Versfeld in Pretoria.
The Bulls outscored their opponents by six tries to four but there will be concern that they were outscored 24-0 in the final quarter of the match.
The result keeps the Bulls in control of their destiny as they play the Sharks in Durban next weekend and the Lions at home in their final regular season match.
The Bulls were rampant in the first half and ran in four tries which secured them the bonus point by the 35th minute and led 26-0 at half time.
The Bulls were a far more complacent team in the second half as they allowed the Cheetahs score 24 points from four tries in the final 20 minutes of the match which earned them the bonus point.
While the Bulls dominated proceedings, the Cheetahs gifted the home-side with copious amount of turn-over ball as they made a number of handling errors.
The Cheetahs also erroneously tried to run almost every ball from their own 22 while the Bulls made sure they kept the visitors out of their 22 area.
The visitors parked in the Bulls' 22 for close to five minutes early in the match but they could not convert the positive momentum into points as the hosts' defence held strong.
Bad decision making coupled with struggling set-pieces, the Cheetahs remained positive on attack.
The Bulls, however, made do with the opportunities that came their way and got the first points on the board from turn-over possession.
It was from a poorly executed chip kick by centre Andries Strauss that gifted the Bulls with an ideal attacking opportunity.
The Bulls set up a few phases with the balling going out to a charging Pierre Spies, who powered his way over the line in the 17th minute, with Morne Steyn on target with his conversion.
While the Cheetahs did well to keep the Bulls from their try-line, the constant grinding finally got the better of the visitors.
This proved to be the breaking point as the Bulls, in quick succession, with Dean Greyling crossing the whitewash five minutes later.
In typical Bulls style they got over the gain-line with powerful crash ball runs with Greyling driving his way over for his try.
Steyn was on song with his place-kicking once again, and he converted the try to give his side a 14-point lead.
With 12 minutes left in the half Zane Kirchner was next to add his name to the scoreboard after a well-placed 'Garryowen' inside the Cheetahs 22.
Cheetahs eighthman Ashley Johnson fumbled the high ball with Kirchner fielding the ball to find an open tryline in front of him to score his side's third try of the evening, with Steyn striking the upright to miss his conversion.
The Bulls scored their bonus point try from another Cheetahs mistake with four minutes left on the clock.
Johnson was caught in possession by Bulls scrumhalf Francois Hougaard after their scrum. The ball popped out of Johnson's grasp with Hougaard pouncing on the loose ball to score his side's fourth try.
Steyn converted to take their score to 26-0 going into the half-time break.
The first 14 minutes of the second half saw no change to the scoreline but it proved to be the calm before the storm.
Strauss was booked ten minutes in the sin-bin after he tugged at Jacques Potgieter's long locks.
The Bulls exploited this advantage as they scored two tries in the absence of Strauss.
First Werner Kruger secured his five-pointer in the 54th minute with Bjorn Basson scoring arguably the best try of the evening three minutes later.
Basson made a stunning 60 metre run down the touchline as he jinxed his way to the tryline with Steyn converting (40-0).
The Bulls then lost a lot of their momentum as Bulls coach Frans Ludeke made wholesale changes with the bench coming on, with Steyn receiving a rare rest on the bench, as he was replaced by Louis Fouche.
The Cheetahs finally got onto the scoreboard as replacement prop WP Nel scored his first try of two in the 60th minute.
The visitors scored their three tries all within a period of eight minutes with Willie le Roux scoring a magnificent long distance try.
Replacement flyhalf Sias Ebersohn cleverly chipped the ball over the Bulls' defensive line with Le Roux fielding to sprint over 70 metres to score in the left hand corner (40-12).
Heinrich Brussow had the final say as he made a tiring sprint down the tryline to score his try on the 77 minute mark to take the scores to 40-24.
Final Score Bulls 40 (26) Cheetahs 24 (0)
Tries - P. Spies, D Greyling, Z Kirchner, F Hougaard, W Kruger, B Basson
Con - M Steyn 4
Tries - WP. Nel 2, W Le Roux, H Brussow
Con - S Ebersohn 2
Cards - Andries Strauss 52nd min Yellow
Referee: Marius Jonker
Assistant Ref 1: Sindile Mayende
Assistant Ref 2: Cobus Wessels
TMO : Johan Meuweson
Zane Kirchner, Akona Ndungane, JJ Engelbrecht, Wynand Olivier, Bjorn Basson, Morne Steyn, Francois Hougaard, Pierre Spies (c), Jacques Potgieter, Dewald Potgieter, Juandre Kruger, Flip van der Merwe, Werner Kruger, Chiliboy Ralepelle, Dean Greyling.
Replacements: Willie Wepener, Frik Kirsten, Wilhelm Steenkamp, CJ Stander, Jano Vermaak, Louis Fouche, Francois Venter.
15 Willie le Roux,14 Philip Snyman,13 Robert Ebersohn,12 Andries Strauss (vc),11 Rocco Jansen,10 Riaan Smit,9 Piet van Zyl,8 Ashley Johnson,7 Pieter Labuschagne,6 Heinrich Brussow,5 Izak van der Westhuizen, 4 Andries Ferreira,3 Marcel van der Merwe 2 Adriaan Strauss ( c ),1 Trevor Nyakane.
Replacements : 16 Hercu Liebenberg, 17 WP Nel, 18 George Earle, 19 Justin Downey, 20 Tewis de Bruyn, 21 Sias Ebersohn, 22 ,Nico Scheepers