South Africa declared their first innings at 474 for nine in the final session at Basin Reserve and at stumps New Zealand were 65 without loss with Daniel Flynn on 35 and Martin Guptill on 28.
It was a sound start by New Zealand, who face an uphill battle to win the Test and level the three-match series, which South Africa lead 1-0. The first two days were both hit by rain delays.
South Africa resumed Sunday at 246-2 and moved to 362-3 at lunch but the dismissal of Petersen for a career-high 156 started a collapse that saw six wickets fall before skipper Graeme Smith declared.
But the tourists’ hopes of claiming at least one wicket before stumps against an untried New Zealand opening pairing failed to materialize despite the hostile approach of the bowlers.
Middle-order batsman Flynn, recalled after two years in the wilderness and thrust in as a novice opener, took several hits to the body before deciding the best defense was attack.
His innings includes four fours, with one off Vernon Philander bringing up the New Zealand 50 and he followed that lusty blow with a six off the next delivery from the leading South African bowler in the series.
Guptill was more cautious at the other end yet still managed three boundaries as the pair put on the highest opening partnership by either side so far in the series.
South Africa had looked comfortable in the morning session as Petersen posted his third Test century in the second over when he cracked Chris Martin to the boundary off the fifth delivery with the new ball.
Duminy moved to 98 with three consecutive fours off Doug Bracewell and then patiently faced a further 18 deliveries before reaching his milestone by flicking Mark Gillespie through square leg.
However, his celebrations were short-lived. He was dismissed six balls later by Gillespie, ending a 200-run stand with Petersen for the third wicket.
Petersen and AB de Villiers took South Africa through to 362-3 at lunch before Petersen was trapped lbw by Martin for 156 with the fourth ball after the resumption.
In Mumbai, Sachin Tendulkar, who will turn 39 next month, is in no hurry to retire and the prolific Indian batsman has refused to rule himself out of the 2015 World Cup in Australia and New Zealand.
“Whatever lies ahead is in God’s hands. I can only try. I just want to enjoy the game and I don’t want to set targets,” Tendulkar told reporters yesterday at a function to celebrate his 100th international century.
Since his 1989 debut against Pakistan, Tendulkar has amassed nearly 34,000 international runs and claimed his 100th century against Bangladesh this month to cement his place as statistically the greatest batsman.
His contemporaries Sourav Ganguly and Rahul Dravid have already quit international cricket but Tendulkar said he was not sure he had played his last World Cup.
“I was asked a similar question in 2007 and I could not say then whether I would play in the 2011 World Cup,” Tendulkar said after cracking a smile.
“Possibly, I am in the same situation now. I don’t know the answer. I just want people to continue with their good wishes and prayers for me. It means a lot to me.”
The master batsman took a swipe at critics who said he should have retired from the one-day format of the game sooner.
“Nobody decided the timing of the start of my career. I will decide when I need to retire,” he said.