The Bulls knocked the Brumbies out of Super Rugby and booked their own place in the play offs when they beat the Lions 37-20 at Loftus Versfeld in Pretoria.
The victory is the Bulls ninth consecutive victory over the Lions since 2005 in the Super 12 and keeps the Lions winless at Loftus since 2002.
The result means that the Bulls will finish the regular Super Rugby season in fifth place and they will travel to Christchurch to play the Crusaders.
The Lions, in no mood to hand out favours, nearly ruined the Bulls' playoff aspirations, but the hosts hit back in the second half.
While the victory was good enough to send the Bulls into the next round of the competition, joining fellow South African sides the Stormers and the Sharks, the Lions made them work hard for it.
In taking full points from the match, the Bulls did the Sharks a favour by bunny-hopping ahead of them on the overall log.
The Sharks will now - in what is regarded an easier prospect - play the Reds in Brisbane, while the Stormers will have a bye next weekend by virtue of finishing at the top of the table.
The Lions, who finished bottom of the standings, drew first blood with a penalty conversion by Elton Jantjies four minutes into the clash.
The home-side, however, equalled the scores when Morne Steyn succeeded with a penalty conversion 10 minutes later.
The tide turned in the Bulls' favour when winger Akona Ndungane intercepted a floating pass from Lions flyhalf Elton Jantjies to score the first try of the evening after 16 minutes of play, with Steyn converting.
Jantjies shortened the deficit eight minutes later with a penalty conversion, but Bulls winger Bjorn Basson extended the lead after half an hour, scoring his 10th try of the season.
Scrumhalf Francois Hougaard made a run from a scrum in the Lions' 22, pulled in two defenders and offloaded to a speeding Basson, who scored under the posts, with Steyn converting.
Lions scrumhalf Michael Bondesio hit back five minutes later when he also picked the ball up from a scrum to break to his right, dummy and score.
Jantjies converted to bring his side within four points of the Bulls, while Steyn succeeded with a penalty conversion with only two minutes left in the second half (20-13).
The visitors' dogged determination saw them cross the whitewash on the half-time whistle, with a beardless Joshua Strauss scoring from a driving maul after a successful lineout five metres from the line.
Jantjies converted to level the scores at 20-20 going into the break.
The Bulls hit their straps in the second period, adding two more tries to take the match away from the visitors.
Hougaard scored the Bulls' third try shortly after the restart with an enterprising run from a ruck on the Lions' 22-metre line, with Steyn converting.
Five minutes later flanker Jacques Potgieter secured the bonus point with their fourth try.
Steyn converted and added another three points with a successful penalty attempt with 15 minutes left in the match.
The Bulls fended off a charging Lions team to keep the scores unchanged in the dying stages.
Final Score Bulls 37 (20) Lions 20 (20)
Tries - A. Ndungane, B. Basson, F. Hougaard, J. Potgieter
Pen - M. Steyn 3
Con - M. Steyn 4
Cards - D. Greyling (yellow)
Tries - M. Bondesio, J. Strauss
Pen - E. Jantjies 2
Con - E. Jantjies 2
Referee: Craig Joubert
Assistant Ref 1: Lesego Legoete
Assistant Ref 2: Stefan Breytenbach
TMO: JC Fortuin
15. Zane Kirchner, 14. Akona Ndungane, 13. JJ Engelbrecht, 12. Wynand Olivier, 11. Bjorn Basson, 10. Morne Steyn, 9. Francois Hougaard, 8. Pierre Spies (c), 7. Dewald Potgieter, 6. Jacques Potgieter, 5. Juandre Kruger, 4. Wilhelm Steenkamp, 3. Werner Kruger, 2. Chiliboy Ralepelle, 1. Dean Greyling.
Replacements: 16. Willie Wepener, 17. Frik Kirsten, 18. Deon Stegmann, 19. CJ Stander, 20. Jano Vermaak, 21. Louis Fouche, 22. Francois Venter.
15. James Kamana, 14. Lionel Mapoe, 13. Waylon Murray, 12. Butch James, 11. Anthonie Volmink, 10. Elton Jantjies, 9. Michael Bondesio, 8. Joshua Strauss (c), 7. Grant Hattingh, 6. Derick Minnie, 5. Ruan Botha , 4. Hendrik Roodt, 3. Jacobie Adriaanse, 2. Callie Visagie, 1. Janse van Rensburg
Replacements: 16. Martin Bezuidenhout, 17. Ruan Dreyer, 18. Etienne Oosthuizen, 19. Jaco Kriel, 20. Ross Cronje, 21. JR Esterhuizen, 22 . Ruan Combrinck