The two sides progressed to the last 16 of the tournament by beating AmaZulu and AmaTuks respectively.
Joseph Mofokeng’s first half strike was cancelled out by second half goals from Mario Booysen, Dillon Sheppard and Cuthbert Malajila.
The game started of evenly as both sides went on search of the opening goal. Maritzburg went close to opening their account through David Booysen in the 13th minute of the game.
The defender rose highest but he could only manage to direct his resulting header narrowly over the crossbar.
But then Joseph Mofokeng opened the scoring for the home side in the 34th minute of the game.
Then Royals nearly doubled their lead just before the half time break through former Santos forward Phikolethu Spelman, but he failed to find the back of the net with only Shu-Aib Walters to beat.
Despite their nervous start to the game, the hosts went into the break 1-0 ahead.
But then Mario Booysen equalised for Maritzburg United just after the hour mark as the top-flight side began to show their experience. The Team of Choice defender headed home from a free-kick.
Man of the Match Dillon Sheppard completed the comeback for Maritzburg in the 77th minute of the game. The Royals shot-stopper fumbled Sheppard’s cross and the ball flew into the back of the net.
Maritzburg secured progression to the next round through Zimbabwean Cuthbert Malajila’s 86th minute strike.
Maritzburg United will now face SuperSport United in the last eight of the competition. Ernst Middendorp will welcome Matsatsantsa to the Harry Gwala Stadium in the next round.
Royals: Gogo; Nzimande, Flara, Jojo, Mhlana, Dukana, Nojiya, Mofokeng, Mkize, Gebeda, Spelman
Maritzburg: Walters; Cloete, Petersen, Booysen D, Evans, Morton, Buckley, Booysen M, Sheppard, Zulu, Malajila