Thabo Mosadi tested goalkeeper Itumeleng Khune in the second minute with a toe-poke inside the box but the shot-stopper was alert to make a comfortable save.
Steve Komphela was forced into making a substitution in the 10th minute as Philani Zulu was injured and could not continue.
The hosts were finding openings upfront after 20 minutes but their final pass was not up to standard.
Amakhosi were still dominating after half-an-hour and were attractive on the ball but lacked the penetration, while the Urban Warriors were content on waiting for their chance to attack on transitions.
Khune kept the hosts in the game in the 38th minute as he made a timely save to deny Mosadi from close range in a one-on-one situation.
Bernard Parker almost broke the deadlock two minutes before the break with a hard and low shot from a tight angle but his strike missed by inches wide as the first half ended goalless.
Parker was withdrawn five minutes into the second half after sustaining a knock and was replaced by Gustavo Paez.
Three minutes after his introduction, Paez could have put Chiefs ahead but he failed to hit the target from 12-yards out.
Ajax coach Stanley Menzo made a double substitution in the 70th minute bringing on Sedwyn George and Junaid Sait in place of Bantu Mzwakali and Ndiviwe Mdabuka.
Komphela made his final substitution with 15 minutes left on the clock as Dumisani Zuma was introduced in place of Kgotso Moleko.
Zuma finally broke the deadlock with five minutes left to play after making his way into the box to beat two defenders before firing home with a low effort.
Hendrick Ekstein should have wrapped up the match with three minutes left on the clock after going one-on-one with Jody February, but the shot-stopper made a good save as the score remained 1-0 to the Amakhosi.