Kagiso Rabada took seven wickets as South Africa took charge on day three of the final test against England, bowling the visitors out for a disappointing 342, before seeing out the final overs for just the loss of one wicket.

Starting the day on 138/2, a huge 337 runs behind the South Africans, Alastair Cook and Joe Root failed to convert their impressive starts into centuries, and the rest of England's batting order fell apart in an unsurprising vein, with Rabada at his most destructive.

Moeen Ali did offer some relief, but his eventual dismissal for 61 meant that the three Lions will have a huge job on their hands for the final two days, especially after South Africa started their second innings strongly. 

Rabada rallies to rip through English middle order

After Nick Compton, and Alex Hales especially, had fallen for low scores on day two, it was up to Cook and Root to provide a platform for England's day, but neither managed to do so.

The captain will have been pleased to make by far his biggest score of the series, but he didn't stay around for long in the morning, edging behind off a beautiful Morne Morkel delivery for 76. Root too was out for 76, lasting long enough to go past his half century, before finding De Kock's gloves off a Rabada delivery.

England still had a sense of control at that point, although 208/4 wasn't an ideal position. This comfort fell apart very quickly though, with James Taylor out for 14 after playing a silly shot to Rabada, with the same bowler getting Jonny Bairstow out for a duck just three balls later, leaving the tourists on 211/6 at lunch. 

Ali and Stokes fight back after lunch

Moeen Ali and Ben Stokes returned to the crease after lunch with their team still more than 250 runs behind. Setting about taking the game to the South African attack, they immediately looked dangerous, only for a quick shower of rain to briefly force them off. 

Stokes came out raring when play got back underway, but he couldn't convert his fast paced start into a big score, getting out for 33, having scored at more than a run per ball. The new ball did for the all-rounder, Rabada picking up another wicket as Stokes edged to Hashim Amla

Ali pressed on though, despite wickets falling around him. Chris Woakes looked like he was going to make up for some shocking bowling with a big score, but was caught off the bowling of JP Duminy for 26. Stuart Broad held the fort for a while before becoming Rabada's seventh wicket, the 20-year-old finishing the day with figures of 7-112. 

James Anderson came in and hit a four, before blocking one end as Ali moved up to 61 at the other, before the spinner played one big shot too many and was caught in the deep off Morkel. 

Rabada is applauded off (photo: getty)
Rabada is applauded off (photo: getty)

Just one wicket for England before stumps

South Africa had a healthy lead of 133 going into their second innings, but faced an early set back, as Dean Elgar edged behind off the bowling of Anderson with the ball swinging.

However, two of the three centurions from the first innings, Amla and Stephen Cook, set about frustrating the visitors, and took their side to 42-1 at stumps, 175 ahead.

England now face a huge fight to save the final test, full in the knowledge that they're going to have to bat for around four sessions should they want to keep their 2-0 lead in tact.