Otago were evenly poised against the home side throughout both innings at Bay Oval.
But Northern started to take control through the middle of their chase and that momentum stayed with them to take the game.
Opener Jamal Todd produced his best innings in Volts colours, whacking 75 runs off 55 balls
Dale Phillips charged down the wicket, but was the first to fall for four and left Otago 28 for one.
Llew Johnson was sent back when he was halfway down the wicket by Todd, and bowler Matt Fisher made no mistake, turning swiftly to hit the wickets.
Johnson went for one and Otago were 33 for two.
Northern took the opportunity to squeeze Otago and held them at 40 for two after the power play.
Otago recovered well through the middle though.
Glenn Phillips jumped on a fuller delivery and powered it to the boundary through the off side.
Todd also split the fielders to find the boundary and Phillips pumped a huge six as well.
Todd recovered after hurting his ankle during the innings to hit a six to bring up his half century.
He started swinging and Phillips took that as a licence for him to pull the trigger too.
Northern captain Jeet Raval took a brilliant catch over his shoulder to remove Phillips for 35.
Dean Foxcroft went for seven as he looked to get things moving in the 17th over.
Todd went the following over for 75 through another great diving catch to Brent Hampton.
Wickets started to fall, leaving the Volts slightly light at 143 for seven at the end of their innings.
But Otago hit quickly with the ball when Andrew Hazeldine removed Joe Carter for one.
Ben Pomare dispatched his opening balls for sixes and continued to be the danger man.
It was going to take something special to take him down, but he smacked it to Foxcroft, who took a wonderful catch at gully.
Pomare went for 29 runs off 15 balls and put Northern 38 for two.
Robbie O’Donnell and Katene Clarke kept the scoreboard ticking for Northern and put the pressure back on Otago.
Northern were 107 for two in the 14th over when O’Donnell was caught behind on 39.
Wicketkeeper Max Chu was busy behind the stumps and was as reliable as ever.
Black Caps captain Mitch Santner also went, giving Jacob Duffy two wickets in his final over.
Clarke was finally stumped for 32.
Northern finished 146 for six in the 18th over to secure the win.