Ajax made the early running, creating a few nervous moments for Pirates keeper Brighton Mhlongo, but it was The Buccaneers who hit the front with some quick-fire sucker punches.
Ndoro netted two goals in a minute, grabbing his first 20 minutes before the break as he capitalised on a mistake from Ajax keeper Brandon Petersen to score in an empty net.
And just a minute later he made it 2-0 when he latched onto Oupa Manyisa's ball to cooly finish in the bottom corner.
Ajax pulled a goal back seven minutes into the second half when Nathan Paulse headed home after ghosting between the Pirates centre-backs Happy Jele and Justice Chabalala.
The home side piled on the pressure after that, with Bantu Mzwakali denied in injury-time by an excellent save from Mhlongo.
Pirates were able to hold on though and now have a full haul of six points from their two league matches this campaign.