Steven Finn claimed one second-innings wicket as Stuart Broad turned in another symphony of seam bowling to inspire England's series-clinching seven-wicket victory in the third Test against South Africa.

Broad, whose magic spells are fast becoming one of the grandest sights in British sport, finished with his best overseas figures of six for 17 to roll the shell-shocked Proteas for 83 on day three in Johannesburg.

At one stage the 29-year-old had taken five wickets in 31 balls for just one run - and that off a dropped catch.

After Broad's remarkable spell, former Parmiter's School pupil Finn got among the wickets by claiming the scalp of Dane Vilas thanks to James Taylor's second superb catch at short-leg.

England required just 74 to take the series 2-0 with one to play, with captain Alastair Cook making 43 of them before his departure allowed Joe Root to score the winning runs.

This is England's second win on these shores since post-Apartheid readmission, following Michael Vaughan's class of 2004/05.

In the 18 series South Africa had hosted since then they had lost just three - all to Australia - but this defeat ensures they will surrender their world number one status to India.

Cook's side may arrived here in sixth place but with a young, hungry and improving side they can have realistic designs on the summit themselves.

An early finish hardly seemed on the cards when the sides reconvened at the Wanderers after two enthralling, nip-and-tuck days, but Broad is a man capable of making things happen in a hurry.

His CV is littered with match-winning turns and now includes 15 five-fors, including seven in a single spell.

Five months ago he helped England seal the Ashes with career-best figures of eight for 15 at Trent Bridge and, if that was his finest hour, then this would be a worthy runner-up.

His second success of the day saw him overtake Bob Willis' 325 to become the country's third highest wicket-taker, but as a purveyor of decisive moments England may never have had better.

South Africa started their second innings just ten behind, but Broad's afternoon assault shifted the ground beneath their feet.

The left-handed openers proved easy prey as he probed off stump from around the wicket.

Dean Elgar followed one as it nipped off the pitch and Stiaan van Zyl, having already been dropped at slip, popped a catch to gully after Broad persuaded one to straighten.

His third wicket was the big one, captain and star batsman AB de Villiers dismissed for a duck as a Broad in-cutter took a thick inside edge on its way into Jonny Bairstow's gloves.

Despite catchers lining up in the cordon and gaps appearing all over the field, Broad proved impossible to score from.

The double centurion of Cape Town, Hashim Amla, was the next to fall at his hand, turning one off his pads and seeing James Taylor take a fine reaction catch low down at short-leg.

Taylor deserves a hearty slap on the back for his smart reactions, but he would have to accept being an extra in Broad's show.

Temba Bavuma suffered a worse fate, weaving away from a short ball that failed to get up and cannoned into the stumps via a glove.

When Broad was finally persuaded to take a breather after ten overs, the Proteas' pain did not stop.

Taylor produced a second stunning catch under the helmet as Finn dismissed Vilas to claim his third wicket of the match and Ben Stokes proved too good for Chris Morris and Kagiso Rabada.

Morris was castled by a gorgeous inswinger and Rabada, who had earlier taken a maiden five-wicket haul, handed Bairstow his ninth catch of the Test.

James Anderson belatedly joined the fun in his first over after the break, Hardus Viljoen trapped plumb leg before wicket, but it was fitting for Broad to wrap things up.

He surprised Faf du Plessis with a rising delivery and flung himself forward to grab a diving return catch.

Elgar spared the hosts the ignominy of a ten-wicket defeat, prising out Alex Hales (18) and Nick Compton (0), before Cook edged Morris with three required.

Root whipped Elgar for four to kick off the celebrations, having started the day in disappointment.

He had started the day 106 not out but added just four before becoming the first of 18 wickets.

That left Bairstow to make a crucial 45, dragging England to 323 and a slender lead.

He was last man out but his dogged knock left a platform that Broad sprung from in scintillating fashion.