Mark Wood, Stuart Broad and Dom Bess each took wickets as the Proteas were bowled out for 237.
England completed a comprehensive win by an innings and 53 runs on the fifth day of the third Test against South Africa at St George's Park,Port Elizabeth.
The result afforded England a 2-1 series lead. The fourth and final Test will start at the Wanderers in Johannesburg on Friday.
Maharaj struck the ball sweetly to record his second test fifty in making 71 (10 fours and three sixes) during a 10th wicket stand of 99 with Dane Paterson (39 not out).
It was the highest partnership of the match for SA and it was eventually ended by a direct hit from Sam Curran to run out Maharaj.
The forecasted rain did not pitch up as South Africa started the day on 102 for six in their follow-on innings, 188 runs behind England’s total of 499.
They picked up trouble as early as the opening over of the day.
SOUTH AFRICA: Dean Elgar, Pieter Malan, Zubayr Hamza, Faf du Plessis (capt), Rassie van der Dussen, Quinton de Kock (wk), Vernon Philander, Keshav Maharaj, Kagiso Rabada, Anrich Nortje, Dane Paterson
ENGLAND: Zak Crawley, Dominic Sibley, Joe Denly, Joe Root (capt), Ben Stokes, Ollie Pope, Jos Buttler (wk), Sam Curran, Dominic Bess, Stuart Broad, Mark Wood
Meanwhile South Africa have recalled Temba Bavuma, Beuran Hendricks, Keegan Petersen and Andile Phehlukwayo for that final match of the series and some changes are expected.
Squad: Faf du Plessis (captain), Temba Bavuma, Quinton de Kock, Dean Elgar, Zubayr Hamza, Beuran Hendricks, Keshav Maharaj, Pieter Malan, Anrich Nortje, Dane Paterson, Keegan Petersen, Andile Phehlukwayo, Vernon Philander, Dwaine Pretorius, Rassie van der Dussen.
South Africa have to do without top bowler Kagiso Rabada, suspended for the last test by the International Cricket Council, and are considering other changes, coach Mark Boucher admitted on Monday after the end of the fourth day in Port Elizabeth with his side on the brink of defeat.