Dunedin - Adam Thompson and Israel Dagg scored two tries each as the Highlanders overcame a slow start and poor goalkicking to beat the Cheetahs 32-8 in their Super 14 match on Saturday.
A swirling wind plagued goalkickers from both sides and the Highlanders managed only three goals from 10 attempts, but outscored the winless Cheetahs five tries to one for a bonus point and a critical home win.
The Highlanders were down 8-5 at half-time after playing into the wind and missing all five first-half shots at goal, but they scored four second-half tries to beat the tournament's last-placed team.
The Cheetahs now leave New Zealand after losing six straight matches on the road here and in Australia, in the hope of rebuilding their season in South Africa.
Highlanders captain Jimmy Cowan said: "The first half was disappointing.
"It seems to be our catch-cry all year, trying too much in the first 10 minutes, not doing our phases and making too many mistakes. It was a good effort in the second half."
Thompson scored the Highlanders' only first-half try from a concerted lineout drive as the home side resorted to traditional rugby methods in windy and difficult conditions.
Centre Corne Uys replied with a try for the Cheetahs while flyhalf Jacques-Louis Potgieter landed a ninth-minute penalty for the only goalkicking success of the half, giving his team a three-point halftime lead.
Increasing the lead
The Highlanders aimed to play with more precision ahead of the wind in the second half and did so, managing some intricate combinations between backs and forward.
Fullback Dagg scored three minutes into the spell, winning the race to a chip kick into the Cheetah's in-goal area and retrieving the lead for the home side. Replacement flanker Steven Setephano scored the Highlanders' third try, colliding with the uprights before grounding the ball and increasing the lead to 20-8.
Thompson's second try clinched the bonus point and Dagg added his second minutes from full time.
Highlanders: 32 (Adam Thompson 2, Israel Dagg 2, Steven Setephano tries; Matt Berquist 2 conversions, penalty.
Cheetahs: 8 (Corne Uys try; Jacques-Louis Potgieter penalty).