The Bulls held off a late Crusaders fightback to sneak home 32-30 in a thrilling Super Rugby clash at Loftus Versfeld in Pretoria on Saturday.
The hosts led 32-16 with eight minutes left to play and seemed to have the game in the bag, but the never-say-die Crusaders refused to relent and in the end were denied by a knock on as they went in search of the decisive score.
The visitors outscored the Bulls by three tries to two and led by four points (9-13) at half-time.
But their discipline let them down in the second half and punished by Morne Steyn who ended the match with six penalties which ultimately proved to be the difference in the end.
The Crusaders started the match with a roar and a hiss after skipper Kieran Read galloped over to add to Dan Carter's drop-goal, while Steyn kept his team in the hunt with three penalties.
Loosehead prop Dean Greyling eased home fans' fears when he collected a pass from flanker CJ Stander to force his way over in some style for the Bulls early in the second period.
The boot of Steyn then once again came to the fore as he kept the scoreboard ticking and the hosts took a seemingly unassailable 32-16 lead when an error from New Zealand full-back Israel Dagg saw Wynand Olivier touch down.
But converted tries from Zac Guildford and replacement Tom Marshall suddenly made a game of it, and it took brave Bulls defence to hang on to victory at the death.
Tries: Greyling, Olivier
Cons: Steyn 2
Pens: Steyn 6
Tries: Read, Guildford, Marshall
Cons: Carter 3
Pens: Carter, Taylor
Bulls: 15 Zane Kirchner, 14 Akona Ndungane, 13 Johann Sadie, 12 Wynand Olivier, 11 Bjorn Basson, 10 MornÃ© Steyn, 9 Francois Hougaard, 8 Pierre Spies (c), 7 Jacques Potgieter, 6 CJ Stander, 5 JuandrÃ© Kruger, 4 Flip van der Merwe, 3 Werner Kruger, 2 Chiliboy Ralepelle, 1 Dean Greyling.
Replacements: 16 Bongi Mbonambi, 17 Frik Kirsten, 18 Wilhelm Steenkamp, 19 Arno Botha, 20 Jano Vermaak, 21 Louis FouchÃ©, 22 JJ Engelbrecht.
Crusaders: 15 Israel Dagg, 14 Sean Maitland, 13 Robbie Fruean, 12 Ryan Crotty, 11 Zac Guildford, 10 Dan Carter, 9 Andy Ellis, 8 Kieran Read (c), 7 Matt Todd, 6 George Whitelock, 5 Sam Whitelock, 4 Luke Romano, 3 Owen Franks, 2 Corey Flynn, 1 Wyatt Crockett.
Replacements: 16 Quentin MacDonald, 17 Ben Franks, 18 Tom Donnelly, 19 Luke Whitelock, 20 Willi Heinz, 21 Tom Taylor, 22 Tom Marshall.
Referee: Jaco Peyper (South Africa)