The Bulls needed a late try to beat the Cheetahs 23-25 in Bloemfontein after trailing for most of the match.
Both teams scored three tries a piece but the Bulls hardly looked like a champion side and trailed 11-8 at half time.
The Cheetahs scored straight after the restart and extended their lead with another try to 23-8.
The disjointed Bulls waited until the final quarter to start their comeback which ended with a try by Fourie du Preez which when converted by Morne Steyn gave the Bulls a match-winning two point lead.
The Cheetahs lost their inspirational captain Juan Smith in the second minute and he was replaced by Ashley Johnson who went on to score a try, save a try and win man of the match.
Bulls scrumhalf Fourie du Preez's try broke thousands of Cheetahs's supporters' hearts in Bloemfontein as it handed the defending champions a victory they probably did not deserve.
The Bulls have now bagged their second win of the Super Rugby season and in both instances they did so without playing their best rugby.
This time, however, they fought back from 23-8 to snatch the four log points.
While the first half was a slightly dull affair as both sides had struggled to get over the advantage line, the Cheetahs were the better of the two teams despite the serious setback of losing Smith to injury.
From an infringement at the first, and last ruck in which Smith participated, flyhalf Naas Olivier put the hosts on the board with a penalty conversion.
Smith was replaced by Free State's player-of-the-year for 2010, Ashley Johnson, who delivered a show-stopping performance to the delight of the locals.
In an otherwise closely fought first quarter, the Bulls eventually found a way through the solid defensive line of the Cheetahs when lock Bakkies Botha covered a great deal of ground to finish in the corner.
The match remained in the balance as poor kicking prevented either of the sides gaining an advantage.
In the 25th minute, Bulls' flyhalf Morne Steyn increased his team's 5-3 lead with a penalty, but the highlight of the first half was to take place two minutes later.
Former Sharks centre Andries Strauss scored his first try in a Cheetahs' jersey when he pierced the Bulls' defence with precision.
From that point onwards, the Cheetahs played with flair and confidence and were fancying their chances as they headed to the break ahead at 11-8.
Taking the field with a renewed sense of confidence, the Cheetahs picked up right where they left off and thanks to a great line-break by scrumhalf Sarel Pretorius, they soon found themselves within Bulls' territory.
Pretorius forced the Bulls back to their own five-metre line from where it took very few phases for former Springbok Sevens star Robert Ebersohn to join Strauss with his debut try.
More importantly, the hosts suddenly had a 10 point lead over their rivals.
Johnson was then rewarded for his courageous carries on the evening, but the bad luck of Olivier continued as he missed what, in the end, turned out to be a crucial conversion.
The anticipated late surge by the Bulls arrived right on time and was made possible by flank Dewald Potgieter and the enforcer, Botha, towards the end.
The big turning point in the Bulls' fate came in the 15th minute of the second half when Cheetahs' lock Wilhelm Steenkamp was sent off for not rolling sway at a ruck.
The Cheetahs watched in despair as the Bulls took charge of the match they had been struggling to control.
In desperation, Bulls' eighthman Pierre Spies attempted a drop goal but missed.
With Steenkamp off, super-sub Danie Rossouw went over the line for the first Bulls try before Du Preez scored the equaliser.
All that was left was for Steyn to slot the conversion on a night where he was not at his best.
Final Score Cheetahs 23 Bulls 25
Tries - A Strauss, R.Ebersohn, A Johnson
Pen - N Olivier 2
Con -N Olivier
Cards - Wilhelm Steenkamp (54) yellow.
Tries - B. Botha, D Rossouw, F du Preez
Pen - M Steyn 2
Con - M Steyn 2
Man of the match : Ashley Johnson
Referee: Craig Joubert
Assistant Ref 1:Marius Jonker
Assistant Ref 2:Christie Du Preez
Cheetahs: Hennie Daniller, Philip Burger, Robert Ebersohn, Andries Strauss, Rayno Benjamin, Naas Olivier, Sarel Pretorius, Kabamba Floors, Juan Smith, Frans Viljoen, Waltie Vermeulen, Wilhelm Steenkamp, WP Nel, Ryno Barnes, Coenie Oosthuizen.
Reserves: Skipper Badenhorst, Kobus Calldo, Francois Uys, Ashley Johnson, Tewis de Bruyn, Sias Ebersohn, Riaan Viljoen.
Bulls: Zane Kirchner, Gerhard van den Heever, Jaco Pretorius, Wynand Olivier, Bjorn Basson, Morne Steyn, Fourie du Preez, Pierre Spies, Dewald Potgieter, Deon Stegmann, Victor Matfield (captain), Bakkies Botha, Werner Kruger, Chiloboy Ralepelle, Gurthro Steenkamp.
Reserves: Derick Kuun, Rossouw de Klerk, Flip van der Merwe, Danie Rossouw, Ruan Snyman, Francois Brummer, Stephan Dippenaar.