Johnson, the man of the series, played a role in three of four dismissals to have the tourists tumbling from 65 without loss to 87 for four in the middle session on day three.
England, holding an innings lead of 51 after dismissing the home side for 204, were travelling along comfortably until Johnson trapped skipper Alastair Cook leg before wicket for 51 in the 22nd over of the second innings.
Cook, who celebrated his 29th birthday on Christmas Day, had earlier became the youngest player to score 8,000 Test runs before he became Johnson's 29th wicket of the series.
Root, who survived a review for caught behind off Johnson, on 15 scampered for a single only for Johnson to throw down his stumps at the bowler's end with the batsman well short of his ground.
Also Read
Pietersen was fortunate not to be run out on six when Siddle's throw just missed the stumps with the English batsman well short of making his ground.