Amla was 183 not out, with 22 fours from 369 balls, while captain Smith made 131 from 270 balls with 20 fours for his 25th test century.
Jacques Kallis eased to 82 not out from 161 balls, with 10 fours after South Africa began day three on 86-1.
Tim Bresnan, who took 1-77, was the only bowler to take a wicket on a demoralizing day for the hosts.
The first hour was intense and the pressure was almost suffocating for both sides. England's attack bowled hardly any loose deliveries and the batsmen played almost no false strokes, making for unspectacular but high quality cricket.
Amla reached 50, from 110 balls, with a single off Graeme Swann, while Smith took 160 balls to reach the same landmark, taking three from the same bowler after going 17 balls without scoring.
Something had to give and Swann's final over before the drinks break went for 11.
Having made painstaking progress early in his innings, Smith drastically upped his scoring rate and his second 50 came off 41 balls.
Smith – playing in his 100th test – reached his century when he punched the penultimate ball of the morning from Tim Bresnan through point for four, to conclude an excellent session for the tourists.
Amla completed his ton, from 199 balls, with a single from Anderson in the 72nd over, to pass three figures for the 15th time in test cricket.
When England referred an lbw shout against Smith – Bresnan's delivery pitched outside leg, clipped the bat and would have missed the stumps -it looked like an act of desperation.
The new ball brought no respite for England.
Smith hit three successive fours from Stuart Broad but the breakthrough finally came when Bresnan replaced Broad from the Pavilion End in the 88th over.
Smith got an inside edge to Bresnan's first ball and it trickled off his pads on to the stumps, but the wicket did little to slow South Africa's progress.
Amla reached 150 from 294 balls after tea and Kallis took 94 balls to reach 50.
It was a miserable evening session for England's bowlers, who didn't bowl badly but were confounded by a combination of a wicket that offered them nothing and South Africa's near flawless batting.
Amla's brilliance aside, as a contest it was too one-sided to be compelling, but that was irrelevant to the tourists, who nosed in front for the first time after 128 overs when Amla drove Bresnan through the covers for four, and eased past 400 before stumps. – Sapa-AP