The home side took the lead within 15 minutes of kick-off, captain Mashale Rantabane heading in from a Moses Spandeel corner kick.
Bucks could have added to their tally, but Birds keeper Aubrey Mathibe made two crucial saves, keeping out Siphelele Jonasi’s low drive before denying Maloyi from the penalty spot after Jonasi had been fouled.
Maloyi squandered another chance, a few minutes after the restart, when his shot struck the bar, Swallows reduced to 10 men shortly after that when Booysen Mbatha received a second yellow card.
The closing minutes of the game were tight, Amathol’amnyama though able to do enough to hold on for the three points which lifts them to within three points of 14th placed Swallows.
Down in the Mother City, Cape Town All Stars had to stage a second-half fightback to earn a point from a 1-1 derby draw with Vasco da Gama.
Played on a scorching hot day at Athlone, the match was feisty and intense throughout, as is the hallmark of Cape derbies.
The opening stanza saw the sides evenly matched, but it was Vasco who took a 1-0 lead into the break after Uganda forward Ntambi Kirizestom had reacted fastest to stab home a loose ball following a corner kick on 40 minutes.
If anything, the second half saw the intensity lifting even further as Stars fought hard to get back in the game, Igugu Lekapa getting their reward when midfielder Sizwe Mdlinzo found the net in the 73rd minute.
NFD weekend results
FC Cape Town 1 Baroka FC 1, Highlands Park 3 Santos 1, Leopards 1 TRZ 0, AmaZulu 0 Mbombela United 1, Milano 0 Witbank Spurs 1, Warriors 0 Eagles 0.
Would you like to place a soccer bet? Click here to get started in 3 easy steps.