A fine century by Hashim Amla put South Africa in control of the first test against England at the close on the fourth day.
Amla made exactly 100 as South Africa declared their second innings closed on 301 for seven, leaving England a target of 364 for victory and 96 overs to survive for a draw.
England were 11 for one after six overs at the close after Morne Morkel had captain Andrew Strauss caught behind for a single to complete a day of dominance for the South Africans.
"We've got a really good total on the board and are confident of going 1-0 up and putting the opposition on the back foot," Amla told reporters. "But we are taking nothing for granted and we hope the pitch will deteriorate.
"It was a lot more difficult early on and we lost a few early wickets but fortunately myself and AB de Villiers were able to get a partnership going. Once the ball got old, there was not so much variable bounce."
Mark Boucher scored 63 not out and Morkel lashed four boundaries in his unbeaten 22 not out off 13 deliveries, the flurry of runs enabling South Africa to declare 37 minutes before stumps.
James Anderson was the best of the England bowlers, taking four for 73 in 20.5 overs.
South Africa, leading by 62 runs on first innings, were in early trouble on 46 for four before Amla and De Villiers put on 119 for the fifth wicket.
De Villiers played daring strokes in his 64 which came off 101 balls and included six fours and a six when he skipped down the pitch to off-spinner Graeme Swann and drove him over long-on.
Amla was less flamboyant but remained impressively unflappable as he compiled his seventh test century before Anderson snatched his wicket with a delivery that shot along the ground into the stumps.
It was a top-class innings by Amla on a pitch with disconcertingly inconsistent bounce, frustrating an England charge in which they claimed three wickets in the morning session.
De Villiers' fluent innings ended 18 minutes before the tea break when Ian Bell reacted quickly at short cover to catch a lofted drive off Stuart Broad.
But Amla, displaying a solid technique and plenty of patience, celebrated his century after 311 minutes and 210 balls at the crease.
South Africa had resumed on another hot day on nine for one and Anderson removed obdurate nightwatchman Paul Harris for 11 in the third over.
Skipper Graeme Smith scored 12 before he left a gap between his bat and pad in playing forward to Graham Onions, who zipped the ball back into the left-hander and bowled him.
That left South Africa struggling on 34 for three and first-innings centurion Jacques Kallis also struggled in the testing conditions before hooking Broad to Alastair Cook at deep square-leg.
"We've been in these situations before so we know exactly what to do," said Anderson. "We've got to put the pitch out of our minds and not think too much about what it might do.
"The first hour will be crucial, if we can get through that the ball will be softer. Batting the whole day will be our focus and if we have wickets in hand at lunch and at tea, we can reassess then."