Pirates' goals came from Dikgang Mabalane, Ezenwa Otorogu and an own-goal from Mor Diouf. Ernst Middendorp and substitute Felix Obada were both sent off, Obada for an elbow to Clifford Ngobeni's chin.
Despite the scoreline, Maritzburg were unlucky as they played well, although credit to Pirates for taking their chances and putting the goals away well.
Maritzburg started superbly – neat touches, clever passing and confidence going forward evidence of a team unbeaten in six games.
The first shot on goal came from Diyo Sibisi, but his third minute effort was struck straight at Moeneeb Josephs.