A converted try from scrum-half Fourie du Preez was painful viewing for the Cheetahs as the hosts surrendered a 15-point lead to lose 25-23 to the Bulls.
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 their inspirational skipper Juan Smith to injury in the third minute.
From an infringement at the first, and last ruck in which Smith participated, fly-half 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' fly-half 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 made sure he 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 scrum-half Sarel Pretorius, they soon found themselves within Bulls' territory.
Pretorius forced the Bulls back to their own 5m 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 ten-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 away 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' number eight 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 landed the equaliser. All that was left was for Steyn to slot the conversion on a night where he was not at his best.
Tries: Strauss, R Ebersohn, Johnson
Pen: Olivier 2
Tries: Botha, Rossouw, Du Preez
Con: Steyn 2
Pen: Steyn 2
Cheetahs: 15 Hennie Daniller, 14 Philip Burger, 13 Robert Ebersohn, 12 Andries Strauss, 11 Ryno Benjamin, 10 Naas Olivier (vice-captain), 9 Sarel Pretorius, 8 Kabamba Floors, 7 Juan Smith (captain), 6 Frans Viljoen, 5 Wilhelm Steenkamp, 4 Waltie Vermeulen, 3 WP Nel, 2 Rayno Barnes, 1 Coenie Oosthuizen.
Replacements: 16 Skipper Badenhorst, 17 Kobus Calldo, 18 Francois Uys, 19 Ashley Johnson, 20 Tewis de Bruyn, 21 Sias Ebersohn, 22 Riaan Viljoen.
Bulls: 15 Zane Kirchner, 14 Gerhard van den Heever, 13 Jaco Pretorius, 12 Wynand Olivier, 11 Bjorn Basson, 10 Morne Steyn, 9 Fourie du Preez, 8 Pierre Spies, 7 Dewald Potgieter, 6 Deon Stegmann, 5 Victor Matfield (captain), 4 Bakkies Botha, 3 Werner Kruger, 2 Chiliboy Ralepelle, 1 Gurthro Steenkamp.
Replacements: 16 Derick Kuun, 17 Rossouw de Klerk, 18 Flip van der Merwe, 19 Danie Rossouw, 20 Ruan Snyman, 21 Francois Brummer, 22 Stephan Dippenaar.
Referee: Craig Joubert (South Africa)