The Bulls opened their Super Rugby tour of Australasia with a hard-fought 26-14 win over the Hurricanes in Napier on Saturday.
Springbok pivot Morne Steyn booted 21 points to inspire the visitors to their fourth win from six matches this season, lifting them to second place on the South African Conference behind the unbeaten Stormers.
The Hurricanes are now last in the New Zealand Conference with one win from six games.
Both teams scored one try - the Bulls through winger Francois Hougaard and the Hurricanes through flank Serge Lilo - but Steyn's unerring boot separated the teams.
The 26-year-old kicked seven goals from eight attempts, including two drop-goals, while his opposite number Danield Kirkpatrick managed only two penalties from five attempts.
The defending champs constructed their win in the first half when they controlled possession and territory with Steyn slotting three penalties and two drop goals to give them a 15-3 lead by half-time.
The Hurricanes got off to the worst possible start as Julian Savea failed to catch a Steyn up-and-under and conceded a penalty in the first minute of the game which Steyn duly converted.
It didn't get any better as the match wore on either with Steyn slotting a drop goal and kicking another penalty - when Andrew Hore failed to release the tackled player before attacking the ball - to give the Bulls a 9-0 lead inside the opening 15 minutes.
Two more penalties from Steyn made it 15-0 after half an hour, with Fourie du Preez's tactical kicking playing an equally important part in his team's dominance.
The Hurricanes though, were struggling to get into the match. Poor line-out throws, dropped ball and giving away penalties meant they were unable to get any continuity going when they did have the ball.
They fell further behind when Victor Vito was isolated trying to carry the ball out from deep and failed to release the ball in the ruck and Steyn duly banged over the penalty.
But in the final 10 minutes of the first half the Hurricanes finally found some attacking impetus. A strong run by Jack Lam, who fended off Steyn and Dean Greyling as he surged upfield, got the Hurricanes to within five metres but Cory Jane couldn't get a clean pass away to Chris Eaton and the try-scoring chance evaporated.
Instead all the Hurricanes had to show for 40 minutes of hard work was a single Kirkpatrick penalty as another one on the stroke of half-time drifted wide.
The Hurricanes fought back with a try to Lilo five minutes into the second half though which cut the lead to 15-8, before a penalty to Kirkpatrick closed the gap even more to just four points (15-11).
The hosts had much greater share of possession in the second half and they attacked desperately, but the Bulls' defence repelled almost every threat.
Steyn nudged the Bulls ahead 18-11 with his fourth penalty. Replacement fly-half Aaron Cruden hit back with a penalty for the Hurricanes, but then Hougaard scored a superb try for the Bulls that decided the outcome of the match.
Center Wynand Olivier made a brilliant midfield break past Ma'a Nonu and linked with Hougaard, who scored untouched. And just to rub it in the Hurricanes' faces, Steyn slotted his fifth and final penalty of the match to seal a well-earned win for the visitors.
Pens: Kirkpatrick 2, Cruden
Pens: Steyn 5
Drop goals: Steyn 2
Hurricanes: 15 Cory Jane, 14 Julian Savea, 13 Conrad Smith, 12 Ma'a Nonu, 11 Hosea Gear, 10 Daniel Kirkpatrick, 9 Chris Eaton, 8 Victor Vito, 7 Serge Lilo, 6 Jack Lam, 5 Jason Eaton, 4 Jeremy Thrush, 3 Neemia Tialata, 2 Andrew Hore (c), 1 John Schwalger.
Replacements: 16 Dane Coles, 17 Jacob Ellison, 18 James Broadhurst, 19 Mark Reddish, 20 Tyson Keats, 21 Aaron Cruden, 22 Charlie Ngatai.
Bulls: 15 Zane Kirchner, 14 Bjorn Basson, 13 Jaco Pretorius, 12 Wynand Olivier, 11 Francois Hougaard, 10 Mornť Steyn, 9 Fourie du Preez, 8 Pierre Spies, 7 Dewald Potgieter, 6 Deon Stegmann, 5 Victor Matfield (c), 4 Bakkies Botha, 3 Werner Kruger, 2 Gary Botha, 1 Dean Greyling.
Replacements: 16 Chiliboy Ralepelle, 17 Roussouw de Klerk, 18 Flip van der Merwe, 19 Derick KuŁn, 20 Francois Brummer, 21 Gerhard van den Heever, 22 Jaco van der Westhuyzen.
Date: Saturday, April 2
Venue: McLean Park, Napier
Kick-off: 19:35 (06:35 GMT)
Referee: Steve Walsh (Australia)