(CNN) -- Morne Steyn scored all South Africa's points as the world rugby champions beat New Zealand at home in the Tri-Nations for the second successive match in Durban on Saturday.
Springboks hero Morne Steyn breaks through the tackle of All Blacks winger Sitiveni Sivivatu.
The recalled fly-half broke the record for the most points scored by a Springboks player in a single match as he converted his own try and kicked eight penalties in a 31-19 victory.
He also broke New Zealander Andrew Mehrtens' 1999 record of 29 for the most points scored in a Tri-Nations match as the hosts won a series against the All Blacks for the first time since the 1970s, having beaten Graham Henry's team 28-19 in Bloemfontein last weekend.
South Africa skipper John Smit also entered the history books as he became the most-capped captain in world rugby, leading his team out for the 60th time.
New Zealand, who beat Australia in the opening match of this year's tournament, led 10-3 after a 12th-minute try from lock Isaac Ross but paid for indiscipline.
Steyn, who replaced the injured Ruan Pienaar, narrowed the deficit to 13-12 with his boot and then went over the try line three minutes before the halftime break before kicking another penalty to ean a 10-point advantage at the interval.
He kept the home team in front as New Zealand battled back in vain, with the tourists' other points coming from the boot of fly-half Stephen Donald and replacement Luke McAlister.
South Africa face Australia in Cape Town next weekend, with the All Blacks having a three-week break before playing the Wallabies in Sydney.
The Australians will be without coach Robbie Deans in the lead-up to their second match, as the New Zealander has returned home following the death of his father.
He is not expected to return to South Africa before next Wednesday.
The Wallabies have not won at Newlands since 1992.