The Hurricanes secured back to back Super Rugby victories when they beat the Bulls 25-20 in Napier on Saturday.
The Hurricanes had not beaten the Bulls since 2008 and the last four matches between the teams were all won by the Bulls.
The Bulls outscored the Hurricanes by two tries to one and the difference came down to penalties.
The Hurricanes led the match for all but five minutes in the second half. The home side did most of the playing in the first half but only held a three point lead at half time.
The match was the Bulls first on tour and they may have to call for replacements already as several key players had to retire early due to injuries including Jacques-Louis Potgieter who took a knock in the first half but played on until half way through the second half.
Hurricanes flyhalf Beauden Barrett surpassed 100 points for the season through six penalty kicks in the contest.
South Africa's Bulls looked likely to become the first team this season to win outside their own country when replacement flyhalf Handre Pollard sliced through the Hurricanes' defence in the 68th minute for a try which, with his conversion, gave the Bulls a 19-20 lead.
But Barrett reclaimed the lead for the Hurricanes with his fifth and sixth penalties of the match, adding a conversion of Andre Taylor's first-half try for a personal tally of 20 points.
The Bulls produced an outstanding defensive performance to hold the Hurricanes to a 16-13 lead at halftime, though the Wellington-based side - playing at their alternative home venue - had dominated almost every aspect of the match.
The Hurricanes set out to test the Pretoria-based Bulls by playing the game at pace and with width in the first 40 minutes and they kept up steady pressure which the visitors showed great character to resist.
The Hurricanes also tested the Bulls' defence with a kicking game and won six kick recoveries against a defensive line that was often strained.
But the Hurricanes managed only one try, to fullback Taylor, from a brilliant cross-field kick by Barrett that was knocked into Taylor's arms by winger Cory Jane.
After being hard-pressed to clear their territory for much of the half, the Bulls scored a try against the run of play through fullback Jurgen Visser, from a high kick by flyhalf Jacques-Louis Potgeiter who was forced from the field early in the second half with a leg injury.
His replacement, Pollard, made an outstanding contribution when he sidestepped and cut between Hurricanes flankers Faifili Levave and Jack Lam for the try that gave the Bulls their first lead.
However, the Bulls made two disciplinary errors late in the match, conceding penalties that were converted by Barrett.
"We played a really good side that almost wrested it away from us," Hurricanes captain Conrad Smith said.
"While I thought we showed really good character to stick with what we know well, it almost got away from us.
"It's a tight competition and these games are going to come down to the wire. It was nice to get one go our way."
The Bulls sustained a heavy injury toll in the first match of a four-game tour to Australia and New Zealand but took confidence from a gutsy performance.
"Well done to Conrad and the boys," Bulls captain Flip van der Merwe said.
"They really put us under pressure and played us really well.
"We lost a couple of guys early on and made a couple of huge mistakes in our area and that cost us at the end of the night."
Final Score Hurricanes 25 (16) Bulls 20 (13)
Tries - A.Taylor
Pen - B.Barrett 6
Con - B.Barrett
Tries - J.Visser, H.Pollard
Pen - J.Potgieter 2
Con - J.Potgieter, H.Pollard
Referee: Steve Walsh
Assistant Ref 1: Nick Briant
Assistant Ref 2: Ben O'Keefe
TMO: Glenn Newman
15 Andre Taylor, 14 Cory Jane, 13 Conrad Smith, 12 Alapati Leiua, 11 Julian Savea, 10 Beauden Barrett, 9 TJ Perenara, 8 Victor Vito, 7 Jack Lam, 6 Faifili Levave, 5 James Broadhurst, 4 Jeremy Thrush, 3 Jeffery Toomaga-Allen/John Schwalger, 2 Dane Coles, 1 Ben Franks.
Replacements: 16 Ash Dixon, 17 Chris Eves, 18 John Schwalger/Reggie Goodes, 19 Blade Thomson, 20 Brad Shields, 21 Billy Guyton, 22 Hadleigh Parkes, 23 Marty Banks.
Jurgen Visser , Akona Ndungane , JJ Engelbrecht , Jan Serfontein , Bjorn Basson, Jacques-Louis Potgieter , Francois Hougaard , Jacques Engelbrecht, Dewald Potgieter , Deon Stegmann, Flip van der Merwe (c), Paul Willemse , Werner Kruger, Callie Visagie, Dean Greyling .
Replacements: Bongi Mbonambi , Marcel van der Merwe , Morne Mellett, Grant Hattingh, Jacques du Plessis, Piet van Zyl, Handre Pollard, Ulrich Beyers.