Wedson Nyirenda’s troops had the first sniff at goal on 13 minutes when Mduduzi Mdatsane curled a left-footed shot just wide of the far post from 21 yards out on the right.
Hassan Banda was alert to the danger at the other end seven minutes later as he cleared a corner at the near post with Leonardo Castro lurking just behind him.
Amakhosi had the ball in the back of the net on 25 minutes when Siphiwe Tshabalala released Castro with a deft flick and the Colombian striker slotted past Ayanda Dlamini from inside the box, but the goal was flagged offside.
However, the opener arrived at the opposite end of the pitch 11 minutes later after a hesitant Daniel Cardoso allowed a long ball to bounce before heading it back and beyond Itumeleng Khune, who scrambled back but couldn’t prevent the own-goal.
Castro squandered a good opportunity to level matters on 39 minutes when Tshabalala’s free-kick was diverted into his path, but he stabbed wide of the right post from seven yards out.
Khama Billiat then blazed an effort over the crossbar from 22 yards out moments later after being fed by Siphelele Ntshangase, while Banda received the ball on the left in the 41st minute and advanced on goal before lashing a left-footer wide of the near post from 25 yards out.
But the visitors were back in the contest two minutes before half-time when Tshabalala curled a free-kick over the ball, which was pushed onto the right post by Dlamini and bounced up onto the bar before crossing the line.
There were a flurry of chances in the opening stages of the second half, with both teams going close to scoring again.
Kgaswane was unfortunate to see his first-time strike from inside the area come back off the right post on 47 minutes after connecting with Talent Chawapiwa’s low cross from the left, before Gustavo Paez steered a header across the face of goal beyond the far post from Billiat’s cross on the right two minutes later.
Ranga Chivaviro failed to keep his header down from Chawapiwa’s cross on the left on 51 minutes, while Letladi Madubanya was well placed to clear Castro’s header off the line moments later when Dlamini raced off his line in an attempt to deal with a cross from the left.
Chawapiwa then threatened for the hosts as he cut in from the left flank and drilled a shot just over the target from 19 yards out, while Chivaviro looked certain to score on 64 minutes when he made contact with Ananias Gebhardt’s cutback from the left, but Cardoso deflected his shot wide.
A promising attack from the Soweto giants on 68 minutes came to a disappointing end when Castro fired wayward from 18 yards out on the left, before Makgaka clipped the top of the bar with a dipping effort from 20 yards out after Tshabalala gave the ball away in a dangerous area.
Dlamini was relived to see Billiat shoot straight at him from just outside the area eight minutes from time, while the final chance came to Banda in the 86th minute as the defender headed over at the back post from a corner on the left.