Played in front of a home lively crowd on a sunny Johannesburg afternoon, both sides stated their intentions early on.
Pirates threatened first with Vincent Pule getting inside the box to get a shot away, but it went wide on nine minutes.
Chiefs went ahead as early as the 15th minute when Khama Billiat notched home from poor defending.
Pirates were given a chance to get back in front after being handed a penalty following a foul on Augustine Mulenga.
Justin Shonga failed to capitalise from 12-yards with Itumeleng Khune pulling off a point-blank save to the despair of the Sea Robbers on 25 minutes.
The Buccaneers did equalise though within two minutes after Innocent Maela headed home a corner from Shonga.
Bucs were now fired up and before anything went ahead. Ball watching from Siyabonga Ngezana allowed Mulenga to sneak in to launch a square pass for Pule to finish easily on 33 minutes.
It was all Pirates at this stage, with Chiefs seeing little of the ball as Pule and Xola Mlambo among others managed to get a few shots away.
With two minutes to halftime, Ben Motshwari shot from outside the box after nice interplay but failed to find the target.
Following the second half, Chiefs had the chance to bounce back but Leonardo Castro fired lowly at Siyabonga Mpontshane who saved easily in the end.
The former Platinum Stars man was called to make another save when Dumisani Zuma tried to get in with a long range shot on 51 minutes.
A defensive mix-up from Chiefs allowed Shonga in on goal but the Zambian was unable to pounce missing with from an open net.
In the final stages, the Amakhosi continued pressing for the equaliser but Siphelele Ntshangase’s free-kick picked out Ngezana who couldn’t find the target.
It’s the second derby win in a row for Bucs to keep up the pressure on league leaders Bidvest Wits by reducing the gap back to a single point.