The Free Staters bagged six tries and four conversions while the home team dotted down three times, and kicked two conversions and two penalty goals.
The Toyota Cheetahs restricted the Vodacom Bulls to a single score in the second half, while they helped themselves to 19 points during that period to clinch a deserving victory over the defending champions.
It was the hosts who enjoyed a slender 20-19 halftime advantage, but the visitors from Bloemfontein managed to reel them in during an impressive second half display.
It was a lively, entertaining first half as both sides showed their intention on the attack. Cameron Hanekom (loose forward) and Stravino Jacobs (left wing) grabbed a try each for the Vodacom Bulls, with pivot Chris Smith adding the conversions, as well as raising the flags with two successful penalty goals to hand the light blue jerseys a single-point advantage at the break.
Enver Brandt (left wing), Louis van der Westhuizen (hooker) and Clayton Blommetjies (fullback) broke through the Vodacom Bulls defence for their tries, with skipper Ruan Pienaar (scrumhalf) succeeding with two of the three conversion attempts.
The second half was just as entertaining, even though both sides sent replacements onto the park at regular intervals.
Toyota Cheetahs lock Aidon Davis was sent clear by Springbok midfielder Frans Steyn as the Free Staters took the lead via a converted try, and the former Junior Bok was soon followed over the whitewash by Van der Westhuizen, who grabbed his second of the game. Pienaar was spot on with both conversions to stretch their advantage to 33-20.
Try as they might, the Vodacom Bulls continued to be their own worst enemy with ill-discipline. Instead of the expected fightback, it was the visitors who increased the lead their through a well-worked Andisa Ntsila try.
However, long-striding right wing Sibongile Novuka then managed to beat three cover defenders to dot down in spectacular fashion to give the hosts a glimmer of hope with 10 minutes remaining on the clock (38-25). But the visitors managed to keep their defence intact to walk away with a deserving win.
Bulls lock Reinhardt Ludwig and replacement prop Lizo Gqoboka, as well as Cheetahs loose forward Gideon van der Merwe were shown yellow cards.
Vodacom Bulls 25 (20) - Tries: Cameron Hanekom, Stravino Jacobs, Sibongile Novuka. Conversions: Chris Smith (2). Penalty goals: Smith (2).
Toyota Cheetahs 38 (19) - Tries: Enver Brandt, Louis van der Westhuizen (2), Clayton Blommetjies, Aidon Davis, Andisa Ntsila. Conversions: Ruan Pienaar (4).