The Bulls moved fourth in the overall Super Rugby standings after easing past the Lions 32-18 at Coca-Cola Park in Johannesburg on Saturday.
Five tries were scored by the visitors as Akona Ndungane, Francois Hougaard, Zane Kirchner, CJ Stander and Juandré Kruger crossed the line.
Victory lifts the three-time champions level on points with the Stormers, but due to their inferior win record, they fall just outside the top three.
It was a comprehensive showing from the in-form Bulls, who will next week be Brumbies coach Jake White's first opponents in South Africa.
However, Frans Ludeke's side did not have it all their own way and were made to fight back from an early blow as Tian Meyer charged-down Morne Steyn's attempted clearance before crossing with only two minutes gone. Elton Jantjies converted.
The Lions made it a ten-point lead when Jaco Taute banged over a long-range penalty on fifteen minutes but then the Bulls found some rhythm.
First it was Ndungane who finished well on the right after an initial bust from Pierre Spies, full-back Kirchner giving the final pass to his wing who got over for his first try of 2012. Steyn missed the extras but soon kicked a penalty.
The Bulls were not done there too as when scrum-half Hougaard showed immense power to shake off three forwards in the act of scoring and then Kirchner ghosted over close to the touchline, they were on a roll. Steyn's kicking was leaving a lot to be desired, however, and it failed to improve after the 10-20 half-time scoreline. He ended with a poor 3 from 8 record.
His off-night from the tee mattered not though for the Bulls as Stander took just one minute into the second-half to claim the bonus point and then second-row Kruger added a fifth.
Captain and number eight Joshua Strauss grabbed a consolation try for the struggling Lions, who have now lost six straight games as they head into a much-needed bye week.
Tries: Meyer, Strauss
Pen: Jantjies 2
Tries: Ndungane, Hougaard, Kirchner, Stander, J Kruger
Con: Steyn 2
Lions: 15 Andries Coetzee, 14 Deon van Rensburg, 13 Jaco Taute, 12 Alwyn Hollenbach, 11 James Kamana, 10 Elton Jantjies, 9 Tian Meyer, 8 Josh Strauss (c), 7 Derrick Minnie, 6 Cobus Grobbelaar, 5 Franco van der Merwe, 4 Stephan Greeff, 3 Pat Cilliers, 2 Callie Visagie, 1 Caylib Oosthuizen.
Replacements: 16 Martin Bezuidenhout, 17 CJ van der Linde / Jacobie Adriaanse, 18 Marius Coetzer, 19 Doppies le Roux, 20 Ross Cronjé, 21 Butch James, 22 Lionel Mapoe.
Bulls: 15 Zane Kirchner, 14 Akona Ndungane, 13 JJ Engelbrecht, 12 Wynand Olivier, 11 Bjorn Basson, 10 Morné Steyn, 9 Francois Hougaard, 8 Pierre Spies (c), 7 Jacques Potgieter, 6 CJ Stander, 5 Wilhelm Steenkamp, 4 Flip van der Merwe, 3 Werner Kruger, 2 Chiliboy Ralepelle, 1 Dean Greyling.
Replacements: 16 Bongi Mbonambi, 17 Frik Kirsten, 18 Juandré Kruger, 19 Arno Botha, 20 Jano Vermaak, 21 Louis Fouché, 22 Johann Sadie.
Referee: Garratt Williamson (New Zealand)
Assistant referees: Keith Brown (New Zealand), Christie du Preez (South Africa)
Television match officials: Johann Meuwesen (South Africa)