South Africa were 199 for two at lunch, with South African captain Amla on 91 not out and vice-captain De Villiers on 56 not out.
South Africa were still 430 runs behind England's first innings total of 629 for six declared.
By contrast to the second day, when Ben Stokes and Jonny Bairstow thrashed 196 runs for England before lunch, Amla and De Villiers added only 58 runs in 29 overs before the interval.
Amla, on 76, drove at the first ball of the day sent down by off-spinner Joe Root and edged the ball to slip where James Anderson put down the catch.
More From This Section
The same two players were involved in the only other chance of the partnership, with Root, at second slip, dropping De Villiers on five off Anderson on Sunday evening.
It was largely cautious batting. It took the normally free-flowing De Villiers 116 balls to post his half-century with a straight hit for four off Moeen Ali.
The pair registered a 100-run partnership off 247 balls.