A man down following Kurt Lentjies’ dismissal early in the second half, the visitors eventually made the breakthrough on 73 minutes when Cuthbert Malajila netted the winner.
United had started well and when Lentjies’ free-kick was parried to safety, before Byrone Hendricks had the ball in the back of the net after a bizarre free-kick from his own half had deceived Nkosingiphile Gumede, but it was correctly disallowed as it was an indirect free-kick.
Walters was called into action on 26 minutes to deny Philani Shange, before saving from point-blank range to keep out Collins Mbesuma’s shot.
Lentjies was shown a straight red just after the restart for a reckless challenge on Shange, and Walters was soon called on again, with Mbesuma again the unlucky Arrows player as the goalie saved down low.
On 17 minutes, and somewhat against the run of play, Maritzburg took the lead when Malajila turned home Wayne Matle’s free-kick.
Walters then twice denied substitute Katlego Mashego, before Dillon Sheppard hit the upright in added-on time and Siyabonga Nkosi’s follow-up was spectacularly cleared off the line.
Arrows: Gumede, Mkhize, Bilankulu, Mvalo, Tom, Shange (Mthembu 84'), Khuboni, Nkosi, Sheppard, Van Heerden (Mashego 60'), Mbesuma
Maritzburg: Walters, Hendricks, Booysen, Diouf, Mathuka (Olomu 56'), Obada (Matle 68'), Morton, Madondo, Evans, Lentjies, Malajila (Sibisi 78')