The Hurricanes' loss ended their five-game winning streak and robbed them of the chance to leapfrog the Blues into second place on the table.
The Crusaders won the title last week with a game to spare, but their final match of the season against the Blues at Eden Park on Sunday was [cancelled due to Covid-19 restrictions].
The Hurricanes-Highlanders game was able to go ahead but without a crowd, with artificial noise created for the television audience.
The match was played at a frenetic pace with the sides locked at 14-all at halftime after scoring two tries each.
Vince Aso and Jamie Booth crossed for the visitors, who had two other tries ruled out after review by referee Ben O'Keeffe with Aso found to have put a foot on the touchline, while Reed Prinsep's came from a forward pass.
Replacement centre Ngane Punivai and Highlanders co-captain Ash Dixon, who was playing his 100th Super Rugby match, replied for the home side.
The Highlanders took a 10-point lead early in the second half with a Josh Ioane penalty and Michael Collins' try before O'Keeffe over-ruled another Hurricanes try, to Chase Tiatia, for obstruction.
O'Keeffe then awarded a penalty try to the Highlanders and gave Hurricanes loose forward Ardie Savea a yellow card for a professional foul and Mitch Hunt capitalised on the man advantage when he sprinted away to put the game beyond doubt.
Peter Umaga-Jensen grabbed a consolation try for the Hurricanes with seven minutes remaining to ensure they did not suffer their biggest defeat to the Dunedin-based side.