The home team won 33-30, after leading 20-13 at the break, and have now won as many games this season as they managed all of last year.
The Highlanders looked much the better team for long periods of the game but the Rebels were tenacious and refused to wave the white flag.
With the whistle dominating and the scrums about as clean as the air over Beijing, the match rather drifted along as neither team could get any ascendancy.
Every time the Highlanders looked to get a flow-on, a scrum would be called, and referee Chris Pollock would seemingly blow the whistle and put his arm up in either direction.
The crowd did not seem to have much idea what the offences were for and neither did the 30 players on the field. No-one comes along to see a shambles at scrum time and Pollock took far too long to sort it out.
The match was in the balance with a quarter of the game left as the visiting side refused to go away.
Time and again the Highlanders would get a lead only for it to be whittled back by the men from Melbourne.
Highlanders fullback Ben Smith scored a try on the 53-minute mark and the Highlanders went 10 points clear.
But the Rebels did not go away and camped on the Highlanders line in the last 10 minutes.
Eventually they broke through with fullback Jason Woodward exploding into a gap to score. He knocked over the conversion to put his side three points behind with three minutes left.
But the Highlanders hung on and refused to let the Rebels get their hands on the ball in the last minutes.
Aaron Smith had a stand-out game, his 50th in a Highlanders jersey. He kicked well into the box, his pass was as solid as ever and he scored a nice try in the first half.
Others to feature were loose forwards Gareth Evans and Nasi Manu, and lock Joe Wheeler, while Liam Coltman was strong in all he did.
Woodward looked good all over the park, while Tamati Ellison showed what a class player he is.
The Rebels made a mixed start to the game.
Inside the opening two minutes, first five-eighth Bryce Hegarty was taken off the field with a heavy head knock after mucking up his landing when trying to catch the high ball.
But the visiting side quickly shrugged that off and, within five minutes, it had scored with flanker Scott Fuglistaller getting on the end of a break from halfback Nic Stirzaker.
The Highlanders managed to get on the scoreboard after nine minutes with Sopoaga banging over a penalty.
Aaron Smith was then over for a try after a sparkling 70m move from the home side but the final pass from winger Richard Buckman was ruled forward.
But within three minutes the Highlanders had officially got over the tryline. They took a quick tap, moved the ball wide and flanker Shane Christie went over after Malakai Fekitoa had been held up 2m out from the line.
On the 20-minute mark, halfback Smith scored his try when he made a nice dart from a ruck 10m out and went past two Rebels defenders. The Rebels were having real trouble controlling the ball from the kick-off, and the Highlanders went close another couple of times in the first half.
Woodward added a contentious scrum penalty at the end of the first half to leave his side close enough at halftime.
The visiting side then scored five minutes into the second half.
Rebels captain Scott Higginbotham grabbed an intercept when the Highlanders were hard on attack and, when he was about to be tackled, kicked ahead and replacement back Angus Roberts won the sprint to the line.
The conversion tied the match up and it was anyone's game with 30 minutes left.
Highlanders v Rebels: The scores
Highlanders ... 33
Aaron Smith, Shane Christie, Ben Smith tries; Lima Sopoaga 3 con, 4 pen
Rebels ... 30
Scott Fuglistaller, Angus Roberts, Jason Woodward tries; Woodward 3 con, 3 pen.
Halftime: 20-13 Highlanders
Crowd: 9501