Australia were 216 for one at lunch on Monday, an overall lead of 318, with Ponting unbeaten on 87 and opening batsman Hayden on 83.
Ponting scored 103 in the first innings, his fourth Test century of the summer in five Tests against South Africa.
Ponting made three centuries when South Africa toured Australia earlier in the season, including two hundreds in his 100th Test in Sydney in January.
Resuming at 125 for one, Ponting and Hayden were in no real trouble from the South African bowlers and the home players looked increasingly dispirited as the morning progressed.
Ponting reached his half-century off 71 balls, while Hayden needed 130 balls to reach the same mark. The left-handed Hayden picked up the pace of his batting after reaching his fifty, hitting some powerful offside shots.
Ponting looked solid and played some fine strokes, including a pulled six off Shaun Pollock.
Australia won the series in Australia 2-0 and won the first Test of the current series in Cape Town.
The pitch appeared to be playing more easily than in the first innings, when Ponting described the surface as two-paced, with uneven bounce. Kingsmead has a reputation as a venue where batting conditions improve.
Even taking account of the pitch conditions South Africa's best hope of avoiding a series-deciding defeat seemed to rest with the weather.
Play started under an overcast sky, with the floodlights switched on, although they were switched off after an hour when the natural light improved. There was a possibility of some rain on both Monday and Tuesday.