Published: 2017-08-08 19:31:57 BdST
South Africa, needing 380 to win, were bowled out for 202 on the fourth day with Man of the Series Moeen taking 5 wickets for 69 runs and James Anderson claiming 3 for 16.
The only real resistance came from Hashim Amla (83) and skipper Faf du Plessis (61), who put on a 123-run fourth-wicket partnership.
But three quick wickets from Moeen put an end to any thoughts of a miracle and ensured England their first home series win over South Africa since 1998.
Moeen, who scored an unbeaten 75 in England's second innings, became the first player to score 250 runs and take 25 wickets in a four-match Test series.
"What a series he has had," said England all-rounder Ben Stokes. "He has come on leaps and bounds as a cricketer and this series has really defined him as a player for us."
It was always going to be a testing time for the tourists' top order. Stuart Broad struck in the fourth over with a beautiful delivery that straightened off the seam and clipped Dean Elgar's edge, to the delight of Jonny Bairstow, who grabbed the catch.
Heino Kuhn then edged Anderson to Cook at slip and on the final ball before lunch Temba Bavuma was given out caught behind, after review, from the bowling of Toby Roland-Jones.
There was no meek surrender though, Amla and du Plessis batting with skill and focus in a partnership that threatened to at least make contest of the Test.
But spinner Moeen made the breakthrough, half an hour before tea, with a sharply turning delivery catching Amla leg before on the back foot, and he was dismissed following a successful review.
Ali then dealt with Quinton de Kock, driving out of the rough and edging to Alastair Cook in the slips, and picked up the wicket of Theunis de Bruyn, caught by Stokes.
The spinner then picked up two more wickets as England made short order of the tail after tea.
"The way we have played as a unit, especially in these last two games has been brilliant," said England skipper Joe Root, who had enjoyed success in his first series in charge.