The right-hander combined great discipline with the occasional flourish to make 87 before falling lbw to Liam Dawson on review.
Dawson’s original appeal was turned down by umpire Paul Reiffel but the decision was reversed after ball-tracking showed the ball pitching in line and on course to hit the stumps.
Amla’s watchful innings put the tourists in a strong position to level the series, with England likely to face a challenging fourth-innings run chase.
Amla, who had escaped in the morning when England failed to review an edged catch which television replays showed would have been given, ground out the runs with skipper Faf du Plessis before Dawson forced the breakthrough. Du Plessis continued untroubled at the other end and was unbeaten on 42 at tea, with new batsman Temba Bavuma on 12.
England lead the four-test series 1-0.