Bucs, who hammered champions Mamelodi Sundowns 3-0 in midweek, climbed to fifth in the standings, while City are second-from-bottom after four straight defeats.
In a lively tie, Pirates goalkeeper Senzo Meyiwa made a fine save early on to keep out a glancing header by Esau Kanyenda off a free-kick from Jabu Maluleke.
At the other end, Sea Robbers defender Ayanda Gcaba directed a miscued strike from Oupa Manyisa narrowly over the bar after Dino Visser punched away an Erasmus corner.
The visitors, however, took the lead in the 31st minute when Erasmus thundered in a drive from the edge of the area for his fifth goal of 2014/15. Erasmus pounced after Mpho Makola stepped over a pass from left-back Patrick Phungwayo, who was making his first appearance of the season for the suspended Thabo Matlaba.
Qalinge doubled the lead 12 minutes later with a stunning first-time strike into the top corner after arriving late in the box. This followed a cut-back from the right by Makola, with Erasmus showing awareness to let the ball run. It was Qalinge's first goal for the Soweto giants following his recent signing from Mpumalanga Black Aces.
Makola later powered a shot at Visser just before the hour-mark, with the keeper spilling the effort but recovering in time to foil Phungwayo on the follow-up.
Pirates coach Vladimir Vermezovic then opted to give a run to Majoro, Issa Sarr and Daine Klate in the latter stages at the expense of Erasmus, Makola and Qalinge, who took a knock to the small of his back under a robust challenge from Thapelo Tshilo.
City mentor Boebie Solomons also injected fresh legs in the shape of Lwazi Skosana, having replaced Elias Ngwepe with Sifiso Mbhele at the interval.
The hosts nearly pulled one back in the 75th minute through Linda Shiba but he was unable to beat the onrushing Meyiwa from a one-on-situation as he put his chip over.
Majoro, though, made the game safe in the 86th minute with a composed finish after being released by Klate. It was Majoro's fourth goal in his last three outings.