Goals from Romano Scott and Eleazar Rodgers had put Santos in charge of the game and although the Buccaneers pulled one back through substitute Paulus Masehe late on, it was the hosts who claimed all three points on offer.
The People's Team took the lead on 19 minutes when Scott beat his marker to get on the end of a free kick and head home the opening goal.
Pirates dominated for the rest of the first half but struggled to break down the stubborn Santos rearguard, leaving the hosts 1-0 up at the break.
Midway through the second stanza, Rodgers hit on a slick counter attack from the Cape side, latching onto Erwin Isaacs' through ball and sweeping home a shot to put Santos 2-0 ahead.
Masehe scored with a header from Bennett Chenene's corner kick in injury time at the end of the game, but it was nothing more than a consolation for Owen Da Gama's team, who have lost further ground on leaders Ajax Cape Town.