South Africa pulled off one of the biggest upsets in the history of the Rugby Championship yesterday, holding on under enormous pressure to beat New Zealand in Wellington.

Given almost no chance of winning after losing their last two matches – and 11 of their last 12 Tests against the All Blacks, including the last six in succession – the Springboks found new spirit in attack and defence to win in New Zealand for the first time since 2009.

South Africa trailed 12-0 after only 16 minutes with the All Blacks entirely dominant. But the Springboks rallied magnificently to lead 24-17 at half-time and 29-17 only a minute into the second half. The All Blacks had never previously conceded 24 points in the first half of a Test at home.

New Zealand fought back and could have drawn level at 31-31 in the 74th minute. But stand-off Beauden Barrett, who kicked only two of seven attempts, missed the conversion of a try from Ardie Savea.

The All Blacks continued to fight into injury time and looked likely to score until Damian McKenzie dropped a pass under pressure and referee Nigel Owens blew for full-time.

All Blacks captain Kieran Read suggested on the eve of the match that the rivalry between the two teams had faded because of New Zealand’s superiority in recent years. But the Springboks, whose coach Rassie Erasmus even forecast his own dismissal if South Africa lost yesterday, disproved Read’s assertion with a performance of historic significance.

The Springboks outplayed the All Blacks in almost all areas, most importantly in their defensive performance which, despite conceding six tries, was the rock on which victory was based. They were willing to take on the All Blacks out wide and winger Aphiwe Dyantyi did so well to score two tries.

Willie Le Roux, Malcolm Marx and Cheslin Kolbe also crossed for the visitors, while Handre Pollard kicked a penalty and four conversions. “We didn’t do anything differently today,” captain Siya Kolisi said. “It’s just the belief and backing the guy next to you.”

Rieko Ioane scored twice for the All Blacks, with Jordie Barrett, Aaron Smith, Codie Taylor and Savea also crossing.

There was also a shock in yesterday’s other fixture, Argentina ending a 35-year losing streak in Australia with a 23-19 win over the Wallabies. A long-range penalty from Emiliano Boffelli with three minutes to go sealed the victory.