Ntini and fellow new ball bowler Dale Steyn captured five wickets each as New Zealand were bowled out for 120.
New Zealand captain Stephen Fleming said the extra pace of Ntini and Steyn, who both bowled as much as 150 kilometres an hour faster than any of his bowlers, made a big difference on a pitch of unpredictable bounce.
He said the pitch made conditions difficult.
"You won't get too many batsmen wanting to come back and play on it. But there are times when you just have to knuckle down and grind out performances. South Africa had a couple more performances than ours."
Fleming said he hoped fast bowler Shane Bond, who could not play because of a knee injury, would be fit for the second Test starting in Cape Town on April 27.
"His pace does make a difference. There is plenty of time but the concern is that this injury has been around for a while and there has been no real improvement."
Fast bowler Michael Mason will be joining the team as cover for Bond.
South African captain Graeme Smith said his team had learnt from two tough series against Australia when they lost five out of six matches.
He said South Africa had produced key performances in the middle stages of the Test.
"Jacques Kallis ground out his 62 and AB de Villiers played superbly for his 97. Then Makhaya (Ntini) and Dale (Steyn) backed it up with their bowling in the second innings."
Ntini took five for 51 and Steyn five for 47. Man-of-the-match Ntini finished with match figures of ten for 146. It was his fourth ten-wicket haul and he became the first South African to do the feat in successive matches after taking ten for 178 in a losing cause against Australia earlier this month.
Smith hailed Ntini's performance and said the fast bowler had benefited from an enforced lay-off when a knee injury caused him to miss the second half of South Africa's tour of Australia earlier in the season.
"He bowled with pace and precision. There was a crack on the wicket and he worked it all day. That just tells you what sort of bowler he's become. He's a thinking bowler.
"As a captain, it's wonderful to be able to throw the ball to him. Something always happens. We just need to work on some guys to back him up."
Ntini said he had enjoyed playing the role of senior new ball bowler with a young partner in Steyn.
"I had to set up a platform so he could follow. I discussed it with him yesterday when he had already taken three wickets and I had taken four. I told him we both had a chance to get five wickets."
Smith said Steyn, who touched 150 kilometres an hour during the match, added an extra dimension to the South African bowling attack.
"He's a high-risk bowler. There are going to be days when he goes for runs but he does create opportunities and that's what we are looking for. His role is to run in and be quick. I wouldn't like to see him out of the team."
It took South Africa just six overs to capture the remaining three wickets after New Zealand resumed on 98 for seven.
New Zealand left-hander Daniel Vettori went on attacking, racing to 38 but opening batsman Hamish Marshall, who batted amidst the team's collapse on the fourth day, added only one run to his overnight score of 24.
Marshall was dropped at first slip by Boeta Dippenaar off Steyn on 25 but without adding to his score he was out to Ntini, when he edged a lifting ball to wicketkeeper Mark Boucher.
Four balls later Vettori flashed at Steyn and was caught by Boucher. Steyn then produced a fast, straight ball to bowl last man Chris Martin.
It was South Africa's first win in eight Test matches and their first of the season after losing five out of six Tests away and at home against Australia. It was also the country's 100th win in 309 matches.