Pirates were aiming to build on their weekend triumph over SuperSport United, while City looked to bounce back from the mauling handed out by Kaizer Chiefs.
The earlier bit of action fell to Bucs when Vincent Pule lashed a free-kick from the right side into the side-netting after only three minutes.
City struck the woodwork early on when former Pirates player Riyaad Norodien tried to haunt his former employers.
The breakthrough from Bucs happened though through Thembinkosi Lorch, making no mistake with a cool finish in the opening 10 minute spell.
Happy Jele missed the chance to add a second but strong defending on the line from City, cleared the impending danger for a corner.
From the resultant corner, Innocent Maela was left unmarked at the back post to head home Pule’s corner for the second goal.
Talisman Pule found himself in the centre of the box and after controlling a low medium cross, unleashed a volley just wide of goal.
Pirates were extremely firing and looked like scoring whenever going forward, while the Cape Town outfit were struggling but in that forced Siyabonga Mpontshane to punch off his line from a cross-field play.
Missing the services of Taariq Fielies through suspension, City were disjointed at the back with Bucs finding tantamount of space to create goal-scoring opportunities in closing out the half.
The one-way traffic continued at the start of the second half, but Pirates were content to keep their lead at this particular juncture.
City created an opening on the edge of the box when Norodien combined with Matthew Rusike, but the former shot well over
An unselfish lay-off by Augustine Mulenga to Xola Mlambo allowed the latter to force City goalkeeper Peter Leeuwenburgh to a finger-tip save on 66 minutes.
Within minutes, City had a lifeline as Patosi brought down a ball on the edge of the box to curl in a stunning volley.
The comeback was completed in the later stages, as Patosi completed his brace with a low free-kick in the bottom corner.
The Buccaneers refused to give in and substitute Linda Mntambo went one-on-one with Leeuwenburgh but failed to find the target.
Mntambo was at the end of another clear opportunity after getting on the end of a side-foot effort off a cross from the left but Leeuwenburgh blocked the effort away.
The result blew Pirates' chances to go level on points with the joint leaders Bidvest Wits and Bloemfontein Celtic.
Pirates: Mpontshane, Matlaba (Shonga 84’), Nyauza, Jele, Maela, Mako, Motshwari, Mlambo, Lorch (Mntambo 76’), Pule (Memela 64’), Mulenga.
Subs: Mabokgwane, Thopola, Da Silva, Shonga, Mntambo, Maphangule, Memela
City: Leeuwenbergh, Cupido (Martin 68’), Mngonyama, Kouadja, Edmilson, Putsche, Nodada, Patosi, Norodien (Kateregga 84’), Links, Rusike (Mthembu 60’).
Subs: Stephens, Baartman, Seedat, Matsi, Martin, Kateregga, Mthembu.