Cape Town - The Highlanders and Bulls played to a 24-all draw in their Super Rugby encounter in Dunedin on Friday.
The Highlanders scored four tries to three, with two apiece for Waisake Naholo and Josh McKay, but Handre Pollard's boot kept the Bulls in touch with three conversions and a penalty.
It was the second straight draw for the Bulls after a 22-22 stalemate against Blues last week, costing them valuable competition points in the tight South African Conference.
The result lifts them from seventh to fifth on the overall ladder with a pack of rivals close behind, meaning next week's final-round match against the Lions could be decisive to their hopes of making the playoffs for the first time since 2013.
They came back from 14-0 down against the Highlanders but even with Pollard returning from a calf injury were unable to edge ahead at a venue where they have not won since 2007.
The Highlanders now sit at ninth on the ladder and could sneak into the top eight with a win over Waratahs next week, should other results go their way.
They have not missed the playoffs since 2013 but again failed on Friday to display the dominant form that drove them to the title in 2015.
While they played the game at a frantic pace under the roof of Forsyth Barr stadium, attacks constantly stalled due to turnovers and handling errors.
McKay opened the scoring in the 12th minute when he latched on to Aaron Smith's chip kick over the defence.
The same tactic worked again 10 minutes later, this time with Sio Tomkinson providing the kick and Naholo the try.
McKay's second five-pointer came just before half-time, leaving the Bulls trailing 19-14 at the break after tries to Divan Rossouw and Jason Jenkins.
Naholo extended the home team's lead early in the second half before Jaco Visagie locked the scores at 24-24 with five minutes to go after an offload from Pollard.
Tries: Josh McKay (2), Waisake Naholo (2)
Conversions: Josh Ioane (2)
Tries: Divan Rossouw, Jason Jenkins, Jaco Visagie
Conversions: Handre Pollard (3)
Penalty: Pollard (3)
15 Josh McKay, 14 Waisake Naholo, 13 Rob Thompson, 12 Sio Tomkinson, 11 Tevita Li, 10 Josh Ioane, 9 Aaron Smith, 8 Luke Whitelock (captain), 7 James Lentjes, 6 Liam Squire, 5 Tom Franklin, 4 Jackson Hemopo, 3 Tyrel Lomax, 2 Liam Coltman, 1 Ayden Johnstone
Substitutes: 16 Ash Dixon, 17 Sef Fa'agase, 18 Siate Tokolahi, 19 Joshua Dickson, 20 Shannon Frizell, 21 Kayne Hammington, 22 Marty Banks, 23 Thomas Umaga-Jensen
15 Divan Rossouw , 14 Cornal Hendricks, 13 Dylan Sage, 12 Burger Odendaal, 11 Johnny Kotze, 10 Handre Pollard (captain) , 9 Embrose Papier, 8 Marco van Staden, 7 Hanro Liebenberg, 6 Ruan Steenkamp, 5 RG Snyman, 4 Jason Jenkins, 3 Trevor Nyakane, 2 Schalk Brits, 1 Lizo Gqoboka
Substitutes: 16 Jaco Visagie, 17 Simphiwe Matanzima, 18 Wiehahn Herbst, 19 Jannes Kirsten, 20 Johan Grobbelaar, 21 Ivan van Zyl, 22 Manie Libbok, 23 JT Jackson