Steyn kicked seven penalties, a conversion and a drop goal as the Bulls built a 33-13 lead heading into the final quarter.
But the young Brumbies side made the Bulls look vulnerable at home as they ran in three tries in the last 11 minutes to earn two bonus points.
The Brumbies scored the opening try in the 10th minute, after two Steyn penalties, as wing Henry Speight sprinted clear down the right touchline, flyhalf Christian Lealiifano having created space as he sucked in defenders in midfield.
The Brumbies' second try, in the 13th minute, was due to the same move, although this time it was the fullback, Jesse Mogg, who sliced through the midfield to score.
Steyn kicked a pair of penalties before half-time though, and, with the Bulls backline showing good hands to create space and time for wing Bjorn Basson to score in the right corner, the home side led 19-13 at the break, following Steyn's conversion and a penalty by Lealiifano.
The Springboks flyhalf began the second half with a drop goal when he knew he had the penalty advantage anyway, and the Bulls stretched their lead to 25-13 in the 46th minute when they earned a penalty on halfway, which Steyn kicked.
The Brumbies were unfortunate to concede a try to flank CJ Stander in the 58th minute when they stopped playing following an obvious knock-on by Steyn. Even the Bulls players were expecting a scrum, before Stander eventually realised the whistle had not blown and he ran clear from 60 metres out.
The Australians were stung into action by the injustice and they were rewarded for their impressive efforts with ball in hand by three late tries, by centre Andrew Smith, replacement scrumhalf Ian Prior and replacement hooker Anthony Hegarty, which gave them two bonus points to keep them on top of the Australian conference.