The Crusaders, on the other hand, needed just one look within striking distance of the tryline to open the scoring through lock Scott Barrett, who slammed the ball over from close range following a lineout in the 15th minute.
Snatching the lead despite being under pressure for the early exchanges, the Crusaders found themselves a man down when Tim Perry was shown a yellow card in the 25th minute due to the hosts committing too many penalties.
The Bulls looked to attack from the ensuing penalty, but a backline move quickly fizzled out and Crusaders halfback Mitch Drummond put his side on the front foot with a lovely boxkick which raced deep into the Bulls' territory.
Bulls fullback Warrick Gelant was forced to take the ball out of play inside his own 10m line as a result, and Codie Taylor crashed over after the ensuing lineout.
At 14-0 things looked ominous for the Bulls. They finally made the most of their pressure when winger Travis Ismaiel beat five Crusaders to get the visitors on the board.
However, another Crusaders set-piece late in the first half saw the lead extended to 14 again, with centre Jack Goodhue carrying two Bulls forwards over the line following a scrum.
With a 21-7 lead at halftime, it looked like the Crusaders were at short odds to end their two-game losing streak.
Those odds shortened further when Goodhue bagged his second of the night early in the second half.
The Bulls hit back late in the second half through reserve forward Marco van Staden to take away a bonus point from their hosts, but only momentarily. The Crusaders had the final say, with George Bridge scoring a late try with a determined run on the right wing to secure the bonus point win.
Crusaders 33 (Jack Goodhue 2, Scott Barrett, Codie Taylor, George Bridge tries; Mitch Hunt 4 cons)
Bulls 14 (Travis Ismaiel, Marco van Staden tries; Handre Pollard 2 cons)
HT: 21-7