Joseph Molangoane embarked on a galloping run on the right wing in the fifth minute and sent a fine cross into the box, but Gustavo Paez failed to make contact.
Bonginkosi Ntuli should have opened the scoring in the 11th minute after turning brilliantly inside the box to angle his shot but he hit the side-netting from close range.
Katlego Otladisa was through on goal in the 20th minute but Teenage Hadebe made a sweeping tackle from behind to deny the youngster an opportunity to go one-on-one with the goalkeeper Itumeleng Khune.
Amakhosi were dominating possession going forward after half-an-hour, while Dikwena looked to hit on a counter-attack.
Molangoane was threatening with his overlapping runs on the right wing around, but the hosts' defence managed to deal with the crosses effectively.
The match opened up in the closing minutes of the half but there were no clear goalscoring chances created and the first stanza ended goalless.
Stars exerted pressure 10 minutes into the second half and looked more likely to find the breakthrough.
Steve Komphela made a double substitution in the 56th minute, as he brought on Siphiwe Tshabalala in place of Bongolethu Jayiya while Bernard Parker replaced Dumisani Zuma.
Amakhosi started to create chances after the double-substitution, with Tshabalala combining brilliantly with Molangoane on the right wing.
Willard Katsande nearly found the breakthrough in the 67th minute with a header inside the box but Visser swallowed it up confidently.
Tshabalala broke the deadlock in the 71st minute with a diving header inside the box following a cross from Philani Zulu on the left wing, 0-1.
Komphela was seemingly going defensive in the 78th minute when he took off striker Paez and brought in midfielder Wiseman Meyiwa.
Roger De Sa's troops lacked a sense of urgency with five minutes left on the clock.
It was becoming easy for the visitors in the end as Stars could not find the rhythm and Komphela's charges kept their shape at the back to claim the all important victory.