The victory for the unbeaten All Blacks leaves the Springboks having to win their final two games with bonus points and hoping New Zealand lose both of their remaining games to give them an outside chance of taking the title.
Australia must also win their final three games, they play Argentina later on Saturday, with at least one bonus point to give them a chance at the title.
Both New Zealand and South Africa have plenty to work on in their weeks off before their next matches in two weeks when the All Blacks head to Argentina and the Springboks host the Wallabies.
The All Blacks, hoping to play the game at a pace and width probably not seen since their 1995 World Cup side, again committed too many errors when they had the ball and gave away too many penalties.
It was not until the second half when their forwards managed to get sufficient ground over the gain line that gaps opened and they were able to clinch victory after Aaron Smith's try and Cruden's two late penalties.
The Springboks, who had drawn and lost their previous two games in the Rugby Championship, will also be frustrated they didn't seize the opportunities they created, missing 20 points from poor goal kicking under the roof in Dunedin.
"They were long range (kicks) and normally those kickers will put them over so we're thankful for that," New Zealand captain Richie McCaw said in a pitchside interview.
"They played a very physical game and took it to us early on. That's exactly what we expected, that type of match from the Boks. It always seems to be like that.
"But towards that latter part of the second half we started getting a wee bit of control and the guys stuck to what we were after and we started to put a bit of pressure on.
"I was proud with the way the guys held their composure but she (the match) was a good old ding dong... (and) yeah, just happy with the win."
The Springboks had been criticised prior to the match for their one-dimensional game plan that involved fly-half Morne Steyn hoisting the ball high into the air and hoping the All Blacks would commit errors inside their own territory.
The tactic, however, was effective as the Springboks were awarded several kickable penalties and could have had a handy 18-5 lead by the break had Steyn and inside centre Frans Steyn not combined to miss five penalty attempts in the first half.
All Blacks full-back Israel Dagg scored the home side's only first half points when he backed up an initial break he made and lock Sam Whitelock and number eight Kieran Read both managed to pop the ball free in the tackle.
Springbok winger Bryan Habana showed his world class finishing abilities early in the second half when he received a flat pass from scrum-half Ruan Pienaar, burst through a tackle, chipped ahead over Julian Savea and gathered the ball again to score his 43rd Test try and give the visitors an 8-5 lead.
Cruden levelled the scores with a 53rd minute penalty and the All Blacks finally took better control of the ball, with replacement scrumhalf Smith scoring his try to give the home side a 15-8 lead when Cruden converted.
Replacement Johan Goosen kicked a mammoth 70th minute penalty for the Springboks to make the last 10 minutes interesting.
"I don't think many people gave us a chance," Springboks captain Jean de Villiers said.
"Our goal kicking wasn't great. Yeah we had opportunities, but at this level you can't make that many mistakes, not capitalise on your opportunities and think you're going to win the game."